Heim > Web-Frontend > js-Tutorial > Hauptteil

Zusammenfassung von drei Methoden zum Erreichen eines domänenübergreifenden Zugriffs mit Ajax

php中世界最好的语言
Freigeben: 2018-04-24 16:51:42
Original
2018 Leute haben es durchsucht

Dieses Mal werde ich Ihnen eine Zusammenfassung der drei Methoden von Ajax geben, um einen domänenübergreifenden Zugriff zu erreichen. Was sind die Vorsichtsmaßnahmen für Ajax, um einen domänenübergreifenden Zugriff zu implementieren? ein Blick.

1. Was ist domänenübergreifend?

Lassen Sie uns zunächst die Zusammensetzung der Domainnamenadresse überprüfen:

http:// www . 8080 / script​​​​🎜>             8080 (Portnummer)

script/jquery.js (angefragte Adresse)

* Wenn eines der Protokolle, Subdomainnamen, Hauptdomainnamen usw Portnummern sind unterschiedlich, alle zählen unterschiedliche „Domänen“.

* Wenn verschiedene Domänen voneinander Ressourcen anfordern, spricht man von „domänenübergreifend“.

Zum Beispiel: http://www.abc.com/index.html fordert http://www.def.com/sever.php an

2. Cross-Verarbeitung Domain-Methode 1 – Agent

(Diese Methode ist relativ „dumm“, daher werde ich sie nicht im Detail vorstellen)

Zum Beispiel in Peking (www.beijing.com/sever.php) und Shanghai (www.shanghai.com/sever.php) Jeder hat einen Server (www.beijing.com/sever.php) greift direkt auf den Dienst in Shanghai zu und gibt den erhaltenen Antwortwert dann an das Frontend zurück. Das heißt, der Dienst in Peking fungiert im Hintergrund als Proxy, und das Frontend muss nur auf den Server in Peking zugreifen, was dem Zugriff auf den Server in Shanghai entspricht. Diese Art von Agent gehört zur Hintergrundtechnologie, daher werde ich nicht näher darauf eingehen.

3. Methode 2 für den Umgang mit domänenübergreifendem JSONP

Angenommen, dass auf der Seite http://www.aaa.com/index.php http : //www.bbb.com/getinfo.php sendet eine GET-Anfrage, dann fügen wir den folgenden Code zur Seite www.aaa.com hinzu:

  var eleScript= document.createElement("script"); //创建一个script元素
  eleScript.type = "text/javascript"; //声明类型、
  eleScript.src = "http://www.bbb.com/getinfo.php"; //添加src属性 引入跨域访问的url
  document.getElementsByTagName("HEAD")[0].appendChild(eleScript); //在页面中添加新创建的script元素
Nach dem Login kopieren
Wenn die GET-Anfrage von http://www .bbb.com/ Wenn getinfo.php zurückkehrt, kann es einen Teil des JavaScript-Codes zurückgeben, der automatisch ausgeführt wird und zum Aufrufen einer Rückruffunktion auf der Seite http://www.aaa.com/index.php verwendet werden kann . Schauen Sie sich das folgende Beispiel an: auf der Seite www.aaa.com:

<script>
  function jsonp( json ){
    document.write( json.name ); //输出周星驰
}
<script>
<script src="http://www.bbb.com/getinfo.php"></script>
Nach dem Login kopieren
auf der Seite www.bbb.com:

jsonp({ "name": „ Stephen Chow“, „age“:45 });

Das heißt, es wird auf der Seite www.aaa.com deklariert und auf der Seite www.bbb.com aufgerufen. JSONP unterstützt jedoch nur „GET“-Anfragen, nicht jedoch „POST“-Anfragen.

3. Methode 2 zur domänenübergreifenden Handhabung – XHR2 (empfohlene Methode)

„XHR2“ vollständiger Name „XMLHttpRequest Level2“ ist eine von HTML5 bereitgestellte Methode Für die domänenübergreifende Verarbeitung bietet Access großartige Unterstützung und es gibt einige neue Funktionen.

* Versionen unter IE10 unterstützen nicht

* Fügen Sie einfach die folgenden zwei Codezeilen zum serverseitigen Header hinzu:

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

header( "Access-Control-Allow-Methods:POST,GET" );

Weitere Informationen zu „XHR2“ finden Sie in der offiziellen Dokumentation unter Ich werde hier nicht auf Details eingehen, aber dies ist eine sehr nützliche Methode.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Das obige ist der detaillierte Inhalt vonZusammenfassung von drei Methoden zum Erreichen eines domänenübergreifenden Zugriffs mit Ajax. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!