Dieser Artikel bietet Ihnen eine Einführung in die Lösung für domänenübergreifende POST-Anfragen. Ich hoffe, dass er für Freunde hilfreich ist.
POST-Lösung für domänenübergreifende Anfragen
Cookies können im Allgemeinen nicht domänenübergreifend sein, und selbst POST-Anfragen können im Allgemeinen nicht domänenübergreifend sein.
// 请求代码示例 $.ajax({ url: url, type: "POST", data: metadata, dataType: 'json', xhrFields: { withCredentials: true }, crossDomain: true, success: function(){}, error: function(){} });
1. Standardmäßig unterliegt Ajax (XMLHttpRequest()-Objekt und darunter Microsoft.XMLHTTP-Objekt ) derselben Ursprungsrichtlinie und erlaubt keine Überkreuzung -Domain-Anfragen.
2. Die domänenübergreifende Funktion von jsonp besteht darin, der Seite dynamisch Skript-Tags hinzuzufügen, um auf domänenübergreifende Ressourcen zu verweisen, aber es gibt keine Post-Methode.
Lösung: Serverseitige Einstellungen, um domänenübergreifende Ajax-Anfragen zuzulassen
## 服务端设置允许跨域代码,eg: header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Origin: http://www.xxx.com"); ## 设置成功后,在接口请求的Response Headers会看到一下以下允许跨越信息 { Access-Control-Allow-Credentials:true Access-Control-Allow-Headers:x-requested-with,content-type Access-Control-Allow-Methods:POST Access-Control-Allow-Origin:http://www.aipai.com }
Problem mit domänenübergreifenden Ajax-Anfragen Gelöst Aber wenn das Backend Cookies über die Schnittstelle abrufen muss, gibt es auch ein domänenübergreifendes Problem mit Cookies
Domänenübergreifende Lösung für Cookies: Fügen Sie der Anfrage die folgenden Parameter hinzu, und die Informationen im Anforderungsheader lauten „Kommt mit Cookie-Informationen“
// 代码 $.ajax({ ... xhrFields: { withCredentials: true }, ... });
[Verwandte Empfehlungen: JavaScript-Video-Tutorial]
Das obige ist der detaillierte Inhalt vonEinführung in Lösungen für domänenübergreifendes Anforderungs-POST. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!