1

使用 GET 方法,我很容易得到这个响应。但是POST方法我不明白。

  Ext.data.JsonP.request({
            url: 'http://otherdomain/test_json_post',
            method: 'POST',
            type:'jsonp',    
            scope: this,    
            callbackkey: 'callback',
            success: function(result) {
                console.log(result);
                //Your success function here...
            }
        });

我错了什么?

4

2 回答 2

1

由于安全原因,您不能从浏览器调用任何 Web 服务,因此您必须在应用程序端使用 JSONP 代理,或者必须在服务器端启用 CORS。如果您打算将其构建为应用程序,那么您不必这样做,您所要做的就是在测试时更改浏览器的安全设置。更多细节在这里:How to use json proxy to access remote services during development

于 2013-06-19T08:32:32.140 回答
0

是的,它奏效了!^^ Sencha Touch 是一个客户端(一个移动 Web 应用程序)或在本地构建它,它将具有 CORS - 一种浏览器策略安全性 - 与您在其中使用 ajax 相关。因此,我通过添加 2 个代码行在我的 PHP 服务器中配置了所有 api:

function yourAPI
{
    //CORS open
    header('Access-Control-Allow-Origin: *'); 
    header('Access-Control-Allow-Headers: X-Requested-With'); 
    ....
    {enter your code here}


}

感谢罗布的帮助!希望你有类似的问题成功修复错误。

于 2013-06-20T03:15:28.203 回答