Heim >Backend-Entwicklung >PHP-Tutorial >Javascript – Problem mit domänenübergreifenden Ajax-Anfragen
Die PHP-Seite hat einen Header("Access-Control-Allow-Origin:*");
Ajax-Anfrage
<code> $.ajax( { type : "post", url : url, async : false, dataType: 'json', data : {asdsa:1}, success : function (obj) { //业务代码 }, error : function (obj) { alert('未找到文件'); } } );</code>
Wenn die Daten beispielsweise leer sind, meldet {} einen Fehler, dass im CORS-Header „Access-Control-Allow-Origin“ fehlt
Schreiben Sie einfach einen Parameter in Daten, wie zum Beispiel {dasdsa:1}, und es ist normal. Was ist los?
Dieses Problem trat nicht auf, wenn der domänenübergreifende Zugriff nicht an einen Domänennamen auf dem Testcomputer gebunden war. Jetzt funktioniert es nicht, wenn der Domänenname online gebunden ist
ps. Es gibt einen Unterschied zwischen dem Testen und dem Onlinegehen. Apache wird zum Testen des Backends verwendet, und Nginx wird dafür verwendet, dass das Backend online geht.
Die PHP-Seite hat einen Header("Access-Control-Allow-Origin:*");
Ajax-Anfrage
<code> $.ajax( { type : "post", url : url, async : false, dataType: 'json', data : {asdsa:1}, success : function (obj) { //业务代码 }, error : function (obj) { alert('未找到文件'); } } );</code>
Wenn die Daten beispielsweise leer sind, meldet {} einen Fehler, dass im CORS-Header „Access-Control-Allow-Origin“ fehlt
Schreiben Sie einfach einen Parameter in Daten, z. B. {dasdsa:1}, und es ist normal. Was ist los?
Dieses Problem trat nicht auf, wenn der domänenübergreifende Zugriff nicht an einen Domänennamen auf dem Testcomputer gebunden war. Jetzt funktioniert es nicht, wenn der Domänenname online gebunden ist
ps. Es gibt einen Unterschied zwischen dem Testen und dem Onlinegehen. Apache wird zum Testen des Backends verwendet, und Nginx wird dafür verwendet, dass das Backend online geht.
Ich weiß nicht, was Sie unter domänenübergreifend verstehen. Ajax kann nur innerhalb des Stammverzeichnisses betrieben werden.
Es fühlt sich an wie ein Ajax-Cache-Problem und die domänenübergreifende Verbindung sollte jsonp sein
Ist es ein serverseitiger Fehler oder ein clientseitiger Fehler, der im Netzwerk gemeldet wurde?