javascript-使用dojo.xhrPost发布JSON字符串
作者:互联网
我在尝试使用dojo.xhrPost将JSON字符串发布到Zend Framework Controller时遇到问题.
当我将字符串发布到服务器时,没有任何数据被发送.我什至尝试发送“ A Test string”,即使没有发送.
我做了一个var dump来查看请求的内容,但是整天都清楚,没有要发布的参数或数据.我的代码如下所示:
var jsonStr = dojo.toJson(values);
var xhrArgs = ({
url:"/dojo/savedetails/",
postData: jsonStr,
handleAs: "text",
load: function(data){
if(data == 'success'){
//success code
dojo.byId('edit_alert').innerHTML = '<div class="info">Your changes have been saved</div>'
}else{
dojo.byId('edit_alert').innerHTML = '<div class="error">We were unable to save your changes please try again.</div>';
}
}
});
//we now post the data to the server for processing.
var deferred = dojo.xhrPost(xhrArgs);
我的var_dump($this-> _request)的内容是:
object(Zend_Controller_Request_Http)#118 (14) { ["_paramSources":protected]=>
array(2) { [0]=> string(4) "_GET" [1]=> string(5) "_POST" } ["_requestUri":protected]=> string(25) "/dojo/savedetails/"
["_baseUrl":protected]=> string(0) "" ["_basePath":protected]=> NULL ["_pathInfo":protected]=> string(25) "/dojo/savedetails/" ["_params":protected]=>
array(3) { ["controller"]=> string(4) "dojo" ["action"]=> string(18) "savedetails" ["module"]=> string(7) "default" } ["_aliases":protected]=> array(0)
{ } ["_dispatched":protected]=> bool(true) ["_module":protected]=> string(7) "default" ["_moduleKey":protected]=> string(6) "module"
["_controller":protected]=> string(4) "dojo" ["_controllerKey":protected]=> string(10) "controller" ["_action":protected]=>
string(18) "savedetails" ["_actionKey":protected]=> string(6) "action" }
我希望我缺少一些简单的东西,但是我一直在遵循dojotoolkit.org上的文档,并且从他们的示例中应该可以这样做.
如果有帮助,我正在使用Dojo 1.3和Zend Framework 1.9.
谢谢,
解决方法:
如果使用postData传递内容,则需要使用dojo.rawXhrPost而不是dojo.xhrPost.
标签:dojo,zend-framework,javascript 来源: https://codeday.me/bug/20191209/2097424.html