ホームページ >ウェブフロントエンド >jsチュートリアル >jQuery を使用してクロスドメイン AJAX JSONP リクエストを正常に作成するにはどうすればよいですか?

jQuery を使用してクロスドメイン AJAX JSONP リクエストを正常に作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-11-19 05:28:02349ブラウズ

How Can I Successfully Make Cross-Domain AJAX JSONP Requests with jQuery?

jQuery を使用したクロスドメイン AJAX JSONP リクエストの作成

jQuery ajax クロスドメインを使用して JSON 配列データを解析しようとする場合、次のことが重要です。 JSONP が機能するには、データをホストするリモート サーバーがメソッド インジェクションをサポートしている必要があることに注意してください。

コードでは、次のブロックが dataType を使用して AJAX リクエストを開始します: 'jsonp':

$.ajax({
    type: "GET",
    url: "http://10.211.2.219:8080/SampleWebService/sample.do",
    dataType: "jsonp",
    success: function (xml) {
        alert(xml.data[0].city);
        result = xml.code;
        document.myform.result1.value = result;
    },
});

jQuery がこのリクエストを実行すると、?callback={some_random_dynamically_generated_method} が追加されます。 URL。このメソッドは通常、ウィンドウ オブジェクトにアタッチされ、プロキシとして機能し、次のようになります。

window.some_random_dynamically_generated_method = function(actualJsonpData) {
    // Calls the success callback
    successCallback(actualJsonData);
}

クライアント側のコードは正しいように見えますが、サーバー側のコードを変更して、クエリ文字列を介して渡される関数名を含む JSON データ。たとえば、リクエスト URL に ?callback=my_callback_method が含まれている場合、サーバーは次の構造でラップされた JSON データで応答する必要があります:

my_callback_method({your json serialized data});

これにより、JSON データが正常に解析され、クライアントで使用できるようになります。 -サイドコード。

以上がjQuery を使用してクロスドメイン AJAX JSONP リクエストを正常に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。