it-swarm.com.de

XMLHttpRequest: Netzwerkfehler 0x80070005, Zugriff wird unter Microsoft Edge (aber nicht IE) verweigert

Ich habe eine sehr einfache Ajax-Anfrage (siehe unten). Der Server verwendet CORS und funktioniert gut in IE 10+, Chrome, Firefox und Opera. Bei Microsoft Edge schlägt dies jedoch fehl 

XMLHttpRequest: Netzwerkfehler 0x80070005, Zugriff wird verweigert.

Ich habe die Beiträge hier , hier , hier und hier recherchiert, kann aber keine Antwort finden, die funktioniert. Diese Leute hatten Probleme mit dem IE, aber das Hinzufügen von contentType (nicht erforderlich für diesen get) und crossDomain hat es gut funktioniert. 

CanIUse scheint anzugeben, dass CORS in Edge verwendet werden kann. Die Anforderung schlägt auch auf IE9 fehl, CanIUse gibt jedoch nur eine teilweise Unterstützung für CORS an, sodass dies verständlich ist.

Irgendwelche Ideen, wie ich das beheben kann?

Code:

$.ajax({
      crossDomain: true,
      url: "http://localhost:2023/api/DoAction/test",
      success: function (a) {
        var res = JSON.parse(a);
        alert(res.content);
      },
      error: function (a, e, r) {
        alert(a.responseText);
      }
    });

Update

Wenn Sie weitere Informationen hinzufügen möchten, erhalten Sie Hinweise. Die Ajax-Anforderung stammt aus Azure und wird auf einer mit OWIN Self Hosting erstellten localhost-Website veröffentlicht. Dies ist ungewöhnlich, aber erforderlich, damit die Software (die nur lokal verwendet werden kann) Daten von einem Cloud-Service abruft. Wie gesagt, es funktioniert gut für alle anderen Browser, Edge ist das einzige Problem.

19
HockeyJ

Dieses Problem sollte für Entwickler, die Microsoft Edge verwenden, nicht mehr bestehen. Wenn beim Testen von localhost Probleme auftreten, navigieren Sie zu about: flags und vergewissern Sie sich, dass Allh localhost loopback aktiviert ist.


Microsoft Edge unterstützt nicht derzeit localhost-Tests (standardmäßig). Sie können es jedoch aktivieren, indem Sie die hier bereitgestellten Anweisungen befolgen: http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/ .

Wir arbeiten daran, das Problem in einer zukünftigen Version zu beheben.

10
Sampson

Für Build 10158 wurde der Befehl geringfügig geändert, wobei Spartan vollständig in Microsoft Edge umbenannt wurde. Führen Sie den folgenden Befehl in einer Eingabeaufforderung des Administratorbefehls aus, um ihn in Microsoft Edge zu aktivieren:

CheckNetIsolation.exe LoopbackExempt -a -n=Microsoft.MicrosoftEdge_8wekyb3d8bbwe
0
David Wengier

Unmittelbar vor Ihrem Ajax-Aufruf verwenden Sie Folgendes:

0
Cedric Michel