Javascript 使用dojo.xhrPost发布JSON字符串

Javascript 使用dojo.xhrPost发布JSON字符串,javascript,zend-framework,dojo,Javascript,Zend Framework,Dojo,我在尝试使用dojo.xhrPost将JSON字符串发布到Zend Framework控制器时遇到问题 当我将字符串发布到服务器时,我没有收到任何正在发送的数据。我甚至尝试只发送“测试字符串”,即使它没有被发送 我已经做了一个var转储来查看请求的内容,但是很明显,我发布的内容没有参数或数据。我的代码如下所示: var jsonStr = dojo.toJson(values); var xhrArgs = ({ url:"/dojo/savedetails/",

我在尝试使用
dojo.xhrPost
将JSON字符串发布到Zend Framework控制器时遇到问题

当我将字符串发布到服务器时,我没有收到任何正在发送的数据。我甚至尝试只发送“测试字符串”,即使它没有被发送

我已经做了一个var转储来查看请求的内容,但是很明显,我发布的内容没有参数或数据。我的代码如下所示:

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);
我希望我遗漏了一些简单的东西,但是我一直在遵循dojotoolkit.org上的文档,从他们的示例来看,这应该是可行的

如果有帮助的话,我正在使用Dojo1.3和Zend Framework 1.9


谢谢,

如果您使用
postData
传递内容,您需要使用
dojo.rawXhrPost
而不是
dojo.xhrPost
尝试
content
而不是
postData
。另外,加载Firebug(firefox)、开发者工具(chrome/IE)或Fiddler,看看实际发出的HTTP请求是什么样子

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" }