Heim > Web-Frontend > js-Tutorial > So implementieren Sie js, um domänenübergreifende Post-Anfragen zu unterstützen

So implementieren Sie js, um domänenübergreifende Post-Anfragen zu unterstützen

php中世界最好的语言
Freigeben: 2018-05-07 17:05:12
Original
1552 Leute haben es durchsucht

Dieses Mal zeige ich Ihnen, wie Sie die js-Unterstützung für Post-Anfragen domänenübergreifend implementieren. Welche Vorsichtsmaßnahmen gibt es für die Implementierung von js zur domänenübergreifenden Unterstützung von Post-Anfragen? . Werfen wir einen Blick darauf.

JSONP implementiert domänenübergreifende Aufrufe

Häufig verwendete JQuery implementiert domänenübergreifende Aufrufe

$.ajax({
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/index.php",
  dataType: "jsonp",
  jsonp: "callback",
  context: document.body,
  success: function(data) {
    console.log(data);
  }
});
Nach dem Login kopieren

Das eigentliche Implementierungsprinzip dieses Aufrufs besteht darin,
ein Skript-Tag zu erstellen die Webseite, und src wird auf die entsprechende URL gesetzt und der entsprechende Rückrufparameter wird im folgenden Format hinzugefügt:

Der angeforderte Servercode lautet wie folgt:

$data   = json_encode(array("id" => "1", "name" => "tom"));
$callback = $_GET["callback"];
echo $callback . "(" . $data . ")";
Nach dem Login kopieren

eigentlich kehrt am Ende zurück. Der Inhalt ist nur ein Absatz-JS-Code:

jQuery211018970995225637144_1465350372062({"id":1",name":tom"})

Wenn der Browser diesen JS-Code erhält, wird diese Funktion später ausgeführt, um die beim Rückruf der Ajax-Anfrage festgelegte Erfolgsmethode zu implementieren.

Nachteile der JSONP-Implementierung

Nachdem Sie das Prinzip verstanden haben, wissen Sie, dass die domänenübergreifende Methode der JSONP-Implementierung keine Post-Anfragen unterstützt und nur Get-Anfragen unterstützen kann. Was aber, wenn Sie Beitragsanfragen unterstützen müssen? Lassen Sie uns über die serverseitigen Einstellungen sprechen.

Servereinstellungen unterstützen domänenübergreifend

Hauptsächlich der Header-Parameter Access-Control-Allow-Origin, der verwendet wird, um anzugeben, welcher Ursprung von Domänenanforderungen zulässig ist. Der Servercode lautet wie folgt:

// 表示支持所有来源的域进行请求
// 实际在操作过程中可以设置为指定域
header('Access-Control-Allow-Origin:*');
$data = json_encode(array("id" => "1", "name" => "tom"));
echo $data;
Nach dem Login kopieren

Der entsprechende js-Code:

$.ajax({
  type: "POST",
  url: "http://127.0.0.1/~chenjiebin/mycode/php/crossdomain/header.php",
  dataType: "json",
  success: function(data) {
    console.log(data);
  }
});
Nach dem Login kopieren

kann Post-Anfragen unterstützen.

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:

Dies weist auf die Verwendung von Call und Apply hin

Wenn webpack+myproject das Projekt erstellt, Die IP kann nicht auf die Anwendung zugreifen

Das obige ist der detaillierte Inhalt vonSo implementieren Sie js, um domänenübergreifende Post-Anfragen zu unterstützen. 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