jquery $.appel ajax résultats en 401 non autorisé réponse lors de Chrome ou de Firefox, mais fonctionne dans IE

J'ai un script qui s'exécute sur une page web qui nécessite l'utilisation de JQuery $.ajax méthode (actuellement à l'aide de jquery 1.7.2) de soumettre plusieurs demandes pour un point de terminaison de service sur un domaine différent. J'ai de l'appel ajax de travail dans IE (9, 10, 11), mais il échoue avec un 401 non autorisé de réponse dans les navigateurs Firefox et Chrome. Une partie du message d'erreur plus en Chrome est "Plein d'authentification est requis pour accéder à cette ressource".

Mon appel ajax est telle configuration (type de données est "json" pour ces demandes qui ne parviennent pas, et async est vrai):

    $.ajax({
      url: url,
      type: "GET",
      async: isAsync,
      dataType: dataType,
      username: user,
      password: pswd,
      success: function (response, status) {
         //success code here
      },
      failure: function (response, status) {
         //failure code here
      },
      complete: function (xhr, status) {
         //on complete code here
      }
   });

Je suis de passage dans le nom d'utilisateur et mot de passe requis pour accéder au service et cela fonctionne sous IE. J'ai a été de comprendre que l'ajax de JQuery fonction de gérer l'authentification correctement, donc si une réponse est de retour indiquant que l'autorisation est requise, elle serait d'utiliser les informations d'identification qui ont été fournis à en faire la demande correctement. Suis-je manqué quelque chose? Ai-je besoin d'ajouter manuellement l'en-tête d'Autorisation pour que cela fonctionne?

Mise à JOUR:
Voici la requête, la réponse, et cookie info rapportée par Chrome et IE via la touche F12 outils de débogage (quelques infos remplacé par [...enlevé...])

Chrome (42.0.2311.90 m)

En-Têtes De Réponse

access-control-allow-pouvoirs:vrai
access-control-allow-origin:[...enlevé...]
contrôle d'accès-exposer-en-têtes:
cache-control:private,max-age=0,must-revalidate connection:keep-alive
content-encoding:gzip content-length:296
content-type:text/html;charset=ISO-8859-1 date:mardi 21 Avril 2015
20:55:12 GMT expire:Mardi, 21 Avril 2015 20:55:12 GMT p3p:CP="NON DSP COR
CURa PSAa Lpfdar NOTRE NI de BUS PUR COM NAV STA"
set-cookie:JSESSIONID=qd-app-1348vf1vrksvc76oshcwirvjp.qd-app-13;Path=/;de la sécurité;HttpOnly
set-cookie:NSC_vt1.sbmmzefw.dpn!-!IUUQT=ffffffff09091c3945525d5f4f58455e445a4a42378b;path=/;de la sécurité;httponly
statut:401 non autorisé vary:Accept-Encoding version:HTTP/1.1
www-authenticate:Basic realm="Rallye ALM"

En-Têtes De Requête

:host:rally1.rallydev.com :méthode:GET :chemin d'accès:[...enlevé...]
:: https :version:HTTP/1.1 accept:application/json,
text/javascript, /; q=0.01 accept-encoding:gzip, deflate, sdch
accept-language:fr-fr,fr;q=0.8 origine:[...enlevé...]
referer:[...enlevé...] user-agent:Mozilla/5.0 (Windows NT 6.1; WOW64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90
Safari/537.36

Réponse Cookies

JSESSIONID qd-app-1348vf1vrksvc76oshcwirvjp.qd-app-13
NSC_vt1.sbmmzefw.dpn!-!IUUQT
ffffffff09091c3945525d5f4f58455e445a4a42378b

IE 11

En-Têtes De Requête

Demande de se [...enlevé...] Referer [...enlevé...] Accepter
application/json, text/javascript, /; q=0.01 Accepter de Langue fr-fr
Accept-Encoding gzip, deflate User-Agent Mozilla/5.0 (Windows NT
6.1; WOW64; Trident/7.0; rv:11.0) like Gecko Hôte [...enlevé...] Connection Keep-Alive Cache-Control "no-cache" Cookie
JSESSIONID=qd-app-08xmftgye78tde1b0wzcl2kit4m.qd-app-08;
NSC_vt1.sbmmzefw.dpn!-!IUUQT=ffffffff09091c3145525d5f4f58455e445a4a42378b;
RALLYE-Détail-treeCollapsed=false;
ZSESSIONID=RpKo5acfRqmjPhW0vIU1rgurWmDhlka0lrgcy9miwhu;
SUBBUCKETID=713

En-Têtes De Réponse

Réponse HTTP/1.1 200 OK RallyRequestID
qd-app-08xmftgye78tde1b0wzcl2kit4m.qd-app-0810353108 Expire Thu, 01
Jan 1970 00:00:00 GMT Content-Type text/javascript; charset=utf-8
ETag "0101c2c8d3463ee3c1a4f950d4142b7d3" P3P CP="NON DSP COR CURa
PSAa Lpfdar NOTRE NI de BUS PUR COM NAV STA" Cache-Control
private,max-age=0,must-revalidate Jour Mardi, 21 Avril 2015 20:58:17 GMT
Connection keep-alive Set-Cookie
ZSESSIONID=RpKo5acfRqmjPhW0vIU1rgurWmDhlka0lrgcy9miwhu;Path=/;Domain=[...enlevé...];de la sécurité;HttpOnly
Set-Cookie
SUBBUCKETID=713;Path=/;Domain=[...enlevé...];de la sécurité;HttpOnly
Content-Length 319

Cookies

Envoyé JSESSIONID qd-app-08xmftgye78tde1b0wzcl2kit4m.qd-app-08
Envoyé NSC_vt1.sbmmzefw.dpn!-!IUUQT
ffffffff09091c3145525d5f4f58455e445a4a42378b Envoyé
RALLYE-Détail-treeCollapsed faux Envoyés ZSESSIONID
RpKo5acfRqmjPhW0vIU1rgurWmDhlka0lrgcy9miwhu Envoyé
SUBBUCKETID 713 Reçu ZSESSIONID
RpKo5acfRqmjPhW0vIU1rgurWmDhlka0lrgcy9miwhu À la fin de la session
[...enlevé...] /Oui Oui Reçu SUBBUCKETID 713 À la fin de l'
session [...enlevé...] /Oui Oui

Avez-vous essayez de débogage à l'aide des outils de développement de chrome ou de firefox?
Regarder le réseau de trafic et de voir ce type de demande et de la réponse que vous obtenez disséquer la demande et la réponse pour voir si quelque chose semble différent ie.
401 est généralement renvoyée par le serveur. Êtes-vous à l'authentification du domaine distant (en utilisant des cookies, HTTP auth, ou le contraire?). Votre navigateur ne peut pas envoyer l'authentification requis dans tous les cas.
Oui, j'ai été dans les outils de débogage dans IE et Chrome. Vérifier le trafic réseau, je vois quelques différences entre les deux, dans IE, il semble qu'il y est un cookie de session qui est ajouté comme partie de la demande, je suppose que ce sont manipulés par ajax JQuery, parce que je suis en train de faire est ce que vous voyez dans mon exemple de code dans le post original. L'autre différence est que dans google Chrome, il y a un autre en-tête de réponse de retour: www-authenticate:Basic realm="Rallye ALM". Encore une fois, je m'attends à ce que le $.ajax() la fonction est de la manipulation de ce pour IE, alors, quel est le hold-up dans Chrome et Firefox?
Je pense que cela peut être pertinents (notamment la section à propos de google Chrome, le resserrement des restrictions sur le moment où il comprend un cookie): stackoverflow.com/questions/2870371/...

OriginalL'auteur AK3800 | 2015-04-21