NetworkError: Fehler beim Ausführen von 'send' auf 'XMLHttpRequest'

8

Ich versuche eine POST-Ajax-Anfrage an einen Server zu senden, der lokal auf meinem Laptop gehostet wird, aber ich kann anscheinend keine Informationen zurückbekommen. Wenn ich auf eine Schaltfläche auf meiner Site (localhost) klicke, kann ich sehen, dass der Server die richtigen Informationen zurückgibt, aber am Frontend bekomme ich diesen Fehler:

  

error: NetworkError: Fehler beim Ausführen von 'send' auf 'XMLHttpRequest': Fehler beim Laden von ' Ссылка '.

%Vor%

Es scheint jedes Mal einen Fehler auszulösen und nicht "Erfolg". Hat jemand eine Idee was falsch ist?

Bearbeiten: Ich habe versucht, eine normale POST-Anfrage ohne AJAX zu senden und es wirft mir auch einen "undefinierten" Fehler:

%Vor%

Andere Dinge, die ich versucht habe: 1) Ändern der Browser zu Safari (das Gleiche, Server gibt Informationen zurück, aber die Website erhält einen Fehler) 2) Einstellung async = true von false. Aus irgendeinem Grund reagiert der Server überhaupt nicht, wenn ich ihn auf true festlege. Wenn es falsch ist, antwortet der Server.

    
Moo33 01.10.2015, 02:41
quelle

3 Antworten

6

Ich hatte dieses Problem buchstäblich vor ein paar Minuten. Das Problem ist, dass Sie async:false auf async:true setzen müssen. Ich bin nicht sicher, warum das genau funktioniert, da HTML5 neuer als XML ist.

Fehler ist ein bisschen anders auf dieser Seite, aber ich denke, es ist ähnlich: JavaScript console.log verursacht einen Fehler:" Synchrone XMLHttpRequest im Hauptthread ist veraltet ... "

Aktualisieren

Hallo, ich bin zurück mit einigen neuen und verbesserten Informationen. Das Cross-Origin tritt sowohl bei Ports als auch bei Domains / IPs auf und wird wahrscheinlich bei den meisten anständigen Browsern vorhanden sein. Wenn Sie wissen wollen, was passiert, versuchen Sie, die IP auf localhost zu ändern oder umgekehrt (wenn Sie localhost verwenden). Beachten Sie, dass dieses Problem auftreten kann, wenn Sie auch andere Ports verwenden. Stellen Sie für eine schnelle Lösung sicher, dass Sie in den Headern von dem Back-End-Server den richtigen Access-Control-Header response.addHeader("Access-Control-Allow-Origin", "*"); ausgeben.

Der Code stammt von Frage

    
ytpillai 01.10.2015 02:47
quelle
5

Es war ein Cross-Origin Resource-Problem (CORS). Mein Server hat mir die richtigen Informationen zurückgegeben, aber mein Browser hat es abgelehnt. Um es zu beheben, musste ich zwei Zeilen auf meinem Java-Server hinzufügen (nicht auf meiner Site), um sie als Response-Header zu definieren:

%Vor%     
Moo33 01.10.2015 08:17
quelle
-3

Sie können Ihre Webseiten mit Chrome unter Windows wie folgt testen

%Vor%     
Daniel Georgiev 18.12.2016 19:16
quelle

Tags und Links