dojo.xhrPost不发送任何数据
问题描述:
我刚进入Dojo并想尝试一个简单的AJAX Post,如examples在 Dojo的网站上。dojo.xhrPost不发送任何数据
下面是HTML/JS:
<form method="POST" id="addProjectForm">
<dl>
<dt>Project Name:</dt>
<dd><input dojoType="dijit.form.TextBox" id="projectName"></dd>
<dt>Project Description:</dt>
<dd><textarea dojoType="dijit.form.Textarea" id="projectDescription" style="width: 300px; height: 100px"></textarea></dd>
</dl>
<button dojoType="dijit.form.Button" style="float: right">
Save Project
<script type="dojo/method" event="onClick">
dojo.xhrPost({
url: '/projects/add/',
load: function(data, ioArgs) {
alert(data);
},
error: function(data, ioArgs) {
alert('There was an error');
},
form: 'addProjectForm'
});
</script>
</button>
</form>
,并在后端我有以下几点:
class ProjectsController extends Zend_Controller_Action
{
public function addAction()
{
$this->_helper->layout->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
$projectName = $this->_request->getParam('projectName');
$description = $this->_request->getParam('projectDescription');
print_r($_POST);
}
}
当我点击 '保存项目' 按钮,我得到一个JS警告框与PHP输出一个空的数组,所以没有任何信息发布。我究竟做错了什么?
答
这是因为一个愚蠢的错误。我没有在任何表单元素上设置名称,只有ID。
答
昨天晚上我一直在通过Dojo发布数据,我有一个小小的评论。
dojo.xhrPost()似乎只有在Dojo Toolkit的最后版本的工作,使用以前的版本,当你锁定dojo.io.iframe.send(),如果你想处理响应服务器在发布数据后给你。文档有点不清楚。