Heim > Artikel > Web-Frontend > Zusammenfassung der domänenübergreifenden js-Methoden, die Post-Anfragen unterstützen
Dieses Mal werde ich Ihnen eine Zusammenfassung der domänenübergreifenden js-Methoden geben, die Post-Anfragen unterstützen, und welche Hinweise es gibt, die post-Anfragen für js-domänenübergreifende Post-Anfragen unterstützen Das Folgende ist ein praktischer Fall.
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); } });
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 . ")";
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;
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); } });
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:
Welche Möglichkeiten gibt es, js (mit Code) zu verwenden?
Wie man JS-Dateien dynamisch einführt
Das obige ist der detaillierte Inhalt vonZusammenfassung der domänenübergreifenden js-Methoden, die Post-Anfragen unterstützen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!