1

私は AJAX が初めてで、JSONP クロスドメイン呼び出しを行う方法を理解しようとしています。次のコードの何が問題なのか正確にはわかりません。Firebug NET コンソールでは、応答が正常に表示され (完全な HTML ページ)、HTML タブも正常に表示されます。URL /?jsonp=jQuery17109722891130251606_1345069208686&_=1345069209298 を指している「構文エラー」が発生しています。

そこにエラー セクションがありましたが、JSONP を使用すると .ajax 内のエラー関数が正しく機能しないことを読んだだけですか?

コードは次のとおりです。

$.ajax({
    url: 'http://www.google.com',
    type: 'GET',
    dataType: 'jsonp',
    jsonp: 'jsonp',
    crossDomain: true,
    complete:function(jsonp){
    $('#test').append(jsonp);
}
});

私はこれをローカルで実行していますが、別の URL を試しました....アイデアや説明はありますか? ありがとう!textStatus もパーサーエラーをスローしていることを忘れていませんか?

4

1 に答える 1

2

ここに

complete:function(jsonp){
    $('#test').append(jsonp);
}

jqXHRオブジェクトを DOM 要素に追加しようとしています。これを見てください:http://jsfiddle.net/TkUBz/

success次のように、プロパティを使用する必要があります。

    /*complete*/
    success:function(data){
        $('#test').append(data);
    }

ここで表示される構文エラーgoogle'sは、HTML データを要素に追加するときにブラウザーが実行しようとする JavaScript コードを含むフロント ページを読み込んでいるためであり#test、その JavaScript コードはページ上で機能しません。そのため、コードが失敗し、構文エラーが表示されます。

于 2012-08-15T22:31:46.027 に答える