Heim  >  Artikel  >  Web-Frontend  >  Ajax-domänenübergreifende Methoden – JSONP und CROS

Ajax-domänenübergreifende Methoden – JSONP und CROS

高洛峰
高洛峰Original
2016-12-14 13:10:071210Durchsuche

Früher wusste ich nur, dass die Lösung für domänenübergreifendes Ajax nur über JSONP gelöst werden konnte. Beim lokalen Hochladen von Videos musste ich das Video direkt über den Beitrag hochladen Wenn Sie Ajax zum Hochladen verwenden, können Sie den Upload-Fortschritt jedoch anpassen und die Upload-Geschwindigkeit anzeigen. Da das Video bei einem externen Videodienstanbieter hochgeladen wird, besteht das erste Problem darin, dass es sich um eine domänenübergreifende Übertragung handelt.

CORS kann dieses Problem lösen.

CORS ist zweifellos fortschrittlicher, bequemer und zuverlässiger als JSONP.
1. JSONP kann nur GET-Anfragen implementieren, während CORS alle Arten von HTTP-Anfragen unterstützt.

2. Mit CORS können Entwickler gewöhnliches XMLHttpRequest verwenden, um Anfragen zu initiieren und Daten abzurufen, was eine bessere Fehlerbehandlung als JSONP bietet.

3. JSONP wird hauptsächlich von alten Browsern unterstützt, die CORS oft nicht unterstützen, während die meisten modernen Browser CORS bereits unterstützen.

In PHP: header(""Access-Control-Allow-Origin: *"");
In HTML:

Wenn CORS einen 302-Sprung enthält, muss die URL nach dem 302-Sprung auch die CORS-Header-Anfrage enthalten.

Derzeit unterstützen IE8 und höher sowie andere Mainstream-Browser bereits CORS domänenübergreifend. Ich glaube, dass diese Technologie in Zukunft sehr praktisch sein wird.




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