以下是我的代码:
function makeRequest() {
//alert("inside makeRequest()");
var settings = {
type: "POST",
url: URL + "?" + REQUEST,
dataType: "json" ,
error: function(XHR,textStatus,errorThrown) {
console.log(XHR);
console.log("textStatus: " + textStatus);
console.log("errorThrown: " + errorThrown);
//alert ("XHR="+XHR+"\ntextStatus="+textStatus+"\nerrorThrown=" + errorThrown);
},
success: function(data,textStatus) {
$("body").append(data);
console.log(data, textStatus);
},
headers: {
"Access-Control-Allow-Origin" : "http://xxx.com",
"Access-Control-Allow-Headers" : "X-Requested-With",
"X_APNSAGENT_API_KEY" : app_key,
"X_APNSAGENT_API_VERSION" : version,
"X_APNSAGENT_API_TIMESTAMP" : timestamp,
"X_APNSAGENT_API_SIGNATURE" : hash,
}
};
$.ajax(settings);
}
makeRequest();
在phonegap wiki中,它说:
“跨域安全策略不会影响PhoneGap应用程序。由于webkit使用file://协议调用html文件,因此安全策略不适用。”
但我怎么称呼这个?
此外,我使用的是jquery-1.6.4.js
我试着找了几天的解决方案。请帮帮我救我......谢谢
答案 0 :(得分:2)
这是我上个月遇到这样一个问题时使用的方法。
$.ajax({
url:dataUrl,
dataType: 'jsonp',
success:function(response){
//success call back
},
error:function(XMLHttpRequest, textStatus, errorThrown){
//error call back
}
}
});
如果您在此链接http://remysharp.com/2007/10/08/what-is-jsonp/上看到雷米夏普的帖子,则会更加明确。
希望它对你有所帮助。
答案 1 :(得分:1)
我自己解决这个问题。
最后。我发现jquery导致了这个问题。
在ajax请求之前。我添加代码:$ .support.cors = true;
最后一切都运作良好。
有关详细信息,您可以访问我的博客http://cashwordpress.sinaapp.com(但很抱歉,我只是发布中文文本)。