Heim > Web-Frontend > js-Tutorial > Warum kann meine jQuery AJAX JSONP-Anfrage keine Daten aus einer domänenübergreifenden Quelle zurückgeben?

Warum kann meine jQuery AJAX JSONP-Anfrage keine Daten aus einer domänenübergreifenden Quelle zurückgeben?

Linda Hamilton
Freigeben: 2024-11-19 08:51:02
Original
671 Leute haben es durchsucht

Why is my jQuery AJAX JSONP request failing to return data from a cross-domain source?

Domänenübergreifende AJAX-JSONP-Anfrage mit jQuery erstellen

Problemerklärung

Beim Versuch, JSON-Array-Daten mit jQuery AJAX mit dem bereitgestellten Code zu analysieren, Der Benutzer erhält keine Ausgabe.

Konzept Erläuterung

Domänenübergreifende AJAX-Aufrufe erfordern, dass der Webdienst die Methodeninjektion unterstützt, damit JSONP funktioniert. Der Client-Code scheint gültig zu sein, aber das Problem könnte in der Domäne der Webanwendung und des Webdienstes liegen.

Bei Verwendung von jQuerys dataType: „jsonp“ wird dem ein Parameter ?callback={some_random_dynamically_generated_method} hinzugefügt Abfrage-URL. Diese Methode fungiert als Proxy im Fensterobjekt, ähnlich wie:

window.some_random_dynamically_generated_method = function(actualJsonpData) {
  successCallback(actualJsonData); // Calls the success function passed to $.ajax
}
Nach dem Login kopieren

Serverseitige Änderung

Um das Problem zu beheben, muss der serverseitige Code geändert werden, um den JSON zu umschließen Daten in einem Funktionsnamen, der mit dem Namen übereinstimmt, der mit der Abfragezeichenfolge übergeben wurde. Wenn die Abfragezeichenfolge beispielsweise „?callback=my_callback_method“ enthält, sollte die Antwort des Servers wie folgt lauten:

my_callback_method({your json serialized data})
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum kann meine jQuery AJAX JSONP-Anfrage keine Daten aus einer domänenübergreifenden Quelle zurückgeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage