dojo.xhrPost 不发送任何数据
Posted
技术标签:
【中文标题】dojo.xhrPost 不发送任何数据【英文标题】:dojo.xhrPost Not Sending any Data 【发布时间】:2009-03-04 14:29:36 【问题描述】:我刚刚进入 Dojo,想尝试一个简单的 AJAX 帖子,例如 examples Dojo 的网站。
这里是 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 输出,因此没有任何信息被发布。我做错了什么?
【问题讨论】:
【参考方案1】:这是因为一个愚蠢的错误。我没有在任何表单元素上设置名称,只有 ID。
【讨论】:
【参考方案2】:由于我昨晚一直在玩通过 Dojo 发布数据,所以我要说一点。
dojo.xhrPost() 似乎只在 Dojo Toolkit 的最新版本中有效,当使用以前的版本时,您被锁定到 dojo.io.iframe.send() ,如果你想处理响应服务器在 POST 后给你的数据。文档对此有点不清楚。
【讨论】:
以上是关于dojo.xhrPost 不发送任何数据的主要内容,如果未能解决你的问题,请参考以下文章
Dojo dojo.rawXhrPost 和 dojo.xhrPost