Heim  >  Artikel  >  Web-Frontend  >  Wie kann ich mit jQuery erfolgreich domänenübergreifende AJAX-JSONP-Anfragen stellen?

Wie kann ich mit jQuery erfolgreich domänenübergreifende AJAX-JSONP-Anfragen stellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-19 05:28:02288Durchsuche

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

Domainübergreifende AJAX-JSONP-Anfragen mit jQuery erstellen

Beim Versuch, JSON-Array-Daten mithilfe von jQuery-Ajax domänenübergreifend zu analysieren, ist es wichtig, Folgendes zu tun Beachten Sie, dass der Remote-Server, der die Daten hostet, die Methodeninjektion unterstützen muss, damit JSONP ordnungsgemäß funktioniert.

In Ihrem Code initiiert der folgende Block eine AJAX-Anfrage mit dataType: '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;
    },
});

Wenn jQuery diese Anfrage ausführt, hängt es ?callback={some_random_dynamically_generated_method} an die URL an. Diese Methode, die normalerweise an das Fensterobjekt angehängt ist, fungiert als Proxy und sieht in etwa so aus:

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

Während Ihr clientseitiger Code korrekt erscheint, ist es unbedingt erforderlich, Ihren serverseitigen Code zu ändern, um ihn zu umschließen JSON-Daten mit dem über die Abfragezeichenfolge übergebenen Funktionsnamen. Wenn die Anforderungs-URL beispielsweise „?callback=my_callback_method“ enthält, sollte der Server mit JSON-Daten antworten, die in der folgenden Struktur verpackt sind:

my_callback_method({your json serialized data});

Dadurch wird sichergestellt, dass die JSON-Daten erfolgreich analysiert und Ihrem Client zur Verfügung gestellt werden -Seitencode.

Das obige ist der detaillierte Inhalt vonWie kann ich mit jQuery erfolgreich domänenübergreifende AJAX-JSONP-Anfragen stellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn