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 ファイルは file:// プロトコルを使用して Webkit によって呼び出されるため、セキュリティ ポリシーは適用されません。」

しかし、どうすればこれを呼び出すことができますか?

その上、私は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 request.I の前にコードを追加します: $.support.cors = true;

最後に、すべてがうまく機能します。

詳細については、私のブログhttp://cashwordpress.sinaapp.comを参照してください(中国語のテキストを投稿しただけで申し訳ありません)。

于 2012-07-11T16:05:44.197 に答える