使用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...
}
});
我错了什么?
答案 0 :(得分:1)
由于安全原因,您无法从浏览器调用任何Web服务,因此您必须在应用程序端使用JSONP代理,或者必须在服务器端启用CORS。如果您计划将其构建为应用程序,则无需执行此操作,您只需在测试时更改浏览器的安全设置即可。更多详情:How to use json proxy to access remote services during development
答案 1 :(得分: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}
}
感谢Rob的帮助!希望您有类似的问题修复错误成功。