Question

J'ai une forme que les valeurs de messages à une page dans un assistant. Quand je charger cette forme dans un tout Iframe fonctionne bien dans Firefox, il me rendre à la deuxième étape de l'assistant et maintient les valeurs i Remplit. Lorsque im tester cela dans Internet Explorer, je ne reçois pas au deuxième étape, au lieu de cela, il me revient à la première étape de l'assistant avec tous les champs étant vide. Quand je vérifie cela dans Fiddler je vois que im obtenir une réponse différente quand je poste le formulaire dans la Iframe de Firefox par rapport à Internet Explorer. Comment puis-je faire ce travail pour tous les navigateurs? Qu'est-ce que je fais mal?

est ce que je reviens de Fiddler:

Firefox

message:

Ressult Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
1   302 HTTP    www.dmg.eu  /brugman/budgetplanner/aanmelden.php    0   no-store, no-cache, must-revalidate, post-check=0, pre-check=0  Expires: Thu, 19 Nov 1981 08:52:00 GMT  text/html; charset=UTF-8    firefox:6116    

Get:

#   Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
2   200 HTTP    www.dmg.eu  /brugman/budgetplanner/ 40.677  no-store, no-cache, must-revalidate, post-check=0, pre-check=0  Expires: Thu, 19 Nov 1981 08:52:00 GMT  text/html; charset=UTF-8    firefox:6116

Internet Explorer

message:

Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
73  302 HTTP    www.dmg.eu  /brugman/budgetplanner/aanmelden.php    0   no-store, no-cache, must-revalidate, post-check=0, pre-check=0  Expires: Thu, 19 Nov 1981 08:52:00 GMT  text/html; charset=UTF-8    iexplore:536    

Get:

Result  Protocol    Host    URL Body    Caching Content-Type    Process Comments    Custom  
74  302 HTTP    www.dmg.eu  /brugman/budgetplanner/ 0   no-store, no-cache, must-revalidate, post-check=0, pre-check=0  Expires: Thu, 19 Nov 1981 08:52:00 GMT  text/html; charset=UTF-8    iexplore:536    

L'espoir que quelqu'un sait ce que le diff est :).

EDIT: (plus d'info .......)

html

<%@ CODEPAGE=65001 %>
<% Response.Charset = "utf-8" %>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<meta name="robots" content="index,follow,noodp" />

<title>Hey</title>

</head>

<body class="body">

<iframe width="800px" height="1024" src="http://www.dmg.eu/brugman/budgetplanner/aanmelden.php">
</iframe>

</body>

</html>
Était-ce utile?

La solution

Dans le premier cas, je crois que la séquence des demandes / réponses est la suivante, s'il vous plaît me corriger si je me trompe.

Nous appellerons A Brugman / budgetplanner / aanmelden.php et B / Brugman / budgetplanner /.

Vous êtes sur une page X et FF vous procédez comme suit:

Request: POST A 
Response: Redirect B (that's the 302)

Request: GET B
Response: Result of B

Cependant, dans IE, il semble que ce qui suit:

Request: POST A
Response: Redirect B (that's the 302)

Request: GET B
Response: Redirect Y (We see another 302)

Ce qui se passe est que quelque chose dans le second cas est à l'origine B pour revenir également un en-tête de redirection. Le problème est pas dans le client, mais le serveur.

Les informations complémentaires que tout le monde demande à:

  • Quelle est la demande / réponse corps des 4 têtes de violonistes vous avez posté (Aller à inspecters, Vue Raw sur les deux volets supérieur et inférieur pour obtenir cela). Cela montrer plus clairement les valeurs de X et Y dans mes séquences ci-dessus.
  • Qu'est-ce que dans le serveur du code PHP, le problème est presque certainement à B (/ Brugman / budgetplanner /)

La comparaison des corps des la deuxième demande selon IE et FF devrait vous donner une indication de la façon dont les voit différemment le serveur (au serveur, un client est tout simplement un agent qui prépare une demande). Sur la base de la différence dans les requêtes, le serveur renvoie une réponse différente.

Autres conseils

info sur ce blog donne les détails et le code pour résoudre:

http: // viralpatel.net/blogs/2008/12/how-to-set-third-party-cookies-with-iframe.html

Comment définir P3P en-tête http dans ASP.Net?

HttpContext.Current.Response.AddHeader("p3p", "CP=\""IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""")

Comment définir P3P en-tête http en PHP?

header('P3P:CP="IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT"');

Comment définir P3P en-tête http dans JSP?

response.setHeader("P3P","CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'")

Comment définir P3P en-tête http dans ColdFusion?

<cfheader name="P3P" value="CP='IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT'" />

soulevé du billet de blog, dans le cas où il meurt.

Ce qui suit est le problème:

Je soumettais la forme, la vérification de la poste, puis fixer une session. Cette session n'a pas été définie parce que dans IE lorsque vous voulez utiliser vars session dans un iFrame vous devez définir les paramètres d'en-tête.

Ceci est le code utilisé pour le faire:

ADD IN THIS LINE IN ORDER TO SOLVE THE INTERNET EXPLORER ALWAYS GET NEW SESSION ISSUE
header('P3P: CP="CAO PSA OUR"');

Ceci est pour vous assurer que IE vous permet d'utiliser des sessions.

Plus d'informations sur: http://www.w3.org/P3P/

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top