2009-04-22 5 views
2

Je fais donc des tâches JSONP assez simples en utilisant Jquery.en utilisant jquery + jsonp, Internet Explorer n'enregistre pas l'ID de session ASP.NET

Structure générale

  • vit Site sur le domaine A
  • Javascript vit sur le domaine B
  • services JSON vivent également sur le domaine B

Les appels du site une méthode que jsonp appelle à un service json (. Net), dans. Net je règle la session et retourne.

Tout cela fonctionne très bien, sauf dans IE il ne stocke pas ou ne passe pas l'identifiant de session dans les demandes suivantes. Donc, .net en crée un nouveau à chaque fois.

Si je vais directement à l'url JSON, c'est-à-dire, je la stocke avec bonheur, et je l'utiliserai lors d'appels ultérieurs. Firefox et chrome n'ont aucun problème avec cela, mais pour une raison quelconque, IE semble ignorer le cookie de session à travers jquery, mais la réponse fonctionne bien à côté de cela.

+0

Comme votre site, js et le service en direct sur le domaine différent, je suis en train de faire suspecter IE est une certaine protection XSS, que dans ce cas portant préjudice à un appel inter-domaine inoffensif et intentionnel. Si tel est le cas, il peut être très difficile de faire fonctionner cette approche sur l'ordinateur de chaque utilisateur. Est-il possible de choisir une approche différente, qui n'a pas besoin de cookies de session pour cette partie du service? –

+0

Eh bien, je pourrais certainement mettre un identifiant de session dans la réponse json, et le gérer manuellement, je suis surpris, car il semble être une commande directe 'set cookie': ASP.NET_SessionId = l3vw0a45xnvwzibeki4y0j55 ; chemin = /; HttpOnly – Monsters

+0

Eh bien, je pourrais certainement mettre un identifiant de session dans la réponse de json, et le gérer manuellement, je suis surpris, car il semble être une commande directe 'set cookie':
Set-Cookie : ASP.NET_SessionId = l3vw0a45xnvwzibeki4y0j55; chemin = /; HttpOnly – Monsters

Répondre

Questions connexes