3

这是我的代码:

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应用。由于html文件是由webkit使用file://协议调用的,所以安全策略不适用。”

但是我怎么称呼它呢?

此外,我正在使用 jquery-1.6.4.js

我试图找到解决方案几天。请帮助我并拯救我......谢谢

4

2 回答 2

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/上看到 Remy Sharp 的帖子,就会更加清楚。

希望对您有所帮助。

于 2012-07-09T11:46:28.447 回答
1

我自己解决了这个问题。

最后,我发现 jquery 导致了这个问题。

在 ajax 请求之前。我添加代码: $.support.cors = true;

最后一切正常。

具体可以去我的博客http://cashwordpress.sinaapp.com(不好意思我只发了中文)。

于 2012-07-11T16:05:44.197 回答