web-dev-qa-db-fra.com

XMLHttpRequest: erreur réseau 0x80070005, l'accès est refusé sur Microsoft Edge (mais pas IE)

J'ai une requête ajax très simple (voir ci-dessous). Le serveur utilise CORS et fonctionne bien dans IE 10+, Chrome, Firefox et Opera. Sur Microsoft Edge cependant, il échoue avec 

XMLHttpRequest: erreur réseau 0x80070005, l'accès est refusé.

J'ai recherché les messages ici , ici , ici et ici , mais je ne trouve pas de réponse satisfaisante. Ces personnes ont eu des problèmes avec IE, mais l'ajout de contentType (non requis pour cela) et de crossDomain a fonctionné correctement. 

CanIUse semble indiquer que CORS est utilisable dans Edge. La requête échoue également sur IE9, mais CanIUse n'indique qu'une prise en charge partielle de CORS, ce qui est compréhensible.

Des idées comment je peux résoudre ce problème s'il vous plaît?

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);
      }
    });

Mettre à jour

Pour ajouter des informations supplémentaires au cas où il fournirait des indices - la requête ajax provient d'Azure et est publiée sur un site Web localhost créé à l'aide d'OWIN self hosting. Ceci est inhabituel, mais il est nécessaire pour que le logiciel (qui ne peut être utilisé que localement) obtienne les données d’un service cloud. Comme indiqué, cela fonctionne très bien pour tous les autres navigateurs, Edge est le seul problème.

19
HockeyJ

Ce problème ne devrait plus exister pour les développeurs utilisant Microsoft Edge. Si vous rencontrez des problèmes avec le test localhost, accédez à about: flags et assurez-vous que Allow localhost loopback est coché.


Microsoft Edge ne prend pas actuellement en charge les tests (prêts à l'emploi) de l'hôte localhost. Vous pouvez toutefois l'activer en suivant les instructions fournies ici: http://dev.modern.ie/platform/faq/how-can-i-debug-localhost/ .

Nous travaillons sur la résolution de ce problème dans une prochaine version.

10
Sampson

Pour la version 10158, la commande a légèrement changé et la nouvelle image de Spartan a été entièrement modifiée dans Microsoft Edge. Pour l'activer dans Microsoft Edge, exécutez la commande suivante à partir d'une invite de la commande administrateur:

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

Juste avant votre appel ajax, utilisez ceci: $ .support.cors = true;

0
Cedric Michel