IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

jQuery, ajax avec méthode POST n'envoie aucun paramètre uniquement sous Firefox


Sujet :

JavaScript

  1. #21
    Membre régulier Avatar de Thewil
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2006
    Messages : 223
    Points : 86
    Points
    86
    Par défaut
    La requête post à l'air de bien fonctionner vu que tu vois le paramètre dans firebug, à mon avis c'est plus du coté de la servlet qu'il y a un soucis.

    Je te met une servlet proxy que j'utilise et qui fonctionne. peut-être qu'en t'en inspirant ça peux aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    <%@page language="java" pageEncoding="ISO-8859-1"%>
    <%@page import="java.io.*"%>
    <%@page import="java.net.*"%>
    <%	try {
    	String line = null;
    	URL feedUrl = new URL(request.getParameter("url"));
    	String test= new String(request.getParameter("test"));
    %>
    <% out.println("test: " + test); %>
    <%
    	HttpURLConnection feedConnection = (HttpURLConnection) feedUrl
    			.openConnection();
    	BufferedReader buffIn = new BufferedReader(new InputStreamReader(
    			feedConnection.getInputStream()));
     
    	while ((line = buffIn.readLine()) != null)
    %><%=line + "\n"%>
    <%
    	buffIn.close();
    	feedConnection.disconnect();
    }
    catch(Exception e) { System.out.println(e);}
    %>

  2. #22
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Je pense que le problème doit venir du EAServer qui est le serveur web.
    Je suis tombé sur ce post qui semble confirmer mon doute.
    http://www.icefaces.org/JForum/posts/list/1372.page

    Je mène l'enquête et vous tiens au courant;

  3. #23
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    J'ai fait ma requete sous FF puis sous IE et j'ai analysé les logs de mon serveur web.

    pour FF j'ai "POST /WIZ/test HTTP/1.1" 200 30
    pour IE j'ai "POST /WIZ/test HTTP/1.1" 200 36

    Je vais faire le tour du net pour retrouver la signification des codes.
    Le 200 je sais que c'est pour dire que la requête a été reçu, comprise et acceptée. Mais le 30 et le 36 je ne sais pas.

  4. #24
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    Rebonjour,

    Finalement, j'ai utilisé le mode debug de mon serveur web. Et le grosse différence entre IE et FF c'est que la requete Ajax en POST possède un charset en UTF-8 pour FF et ne possède pas de charset pour IE.

    Donc la solution se trouve là. De plus, dans firebug on voit bien que la requete est envoyé avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    content-type : charset=UTF8;
    .

    Il semble que sa soit Firefox depuis la version 3 qui met par défaut un charset=utf-8 si aucun charset n'est spécifié.

  5. #25
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    La cause:
    J'ai la cause, c'est du au charset que firefox 3.x met par défaut à UTF-8.
    Mon serveur EAServer semble ne pas aimer ce charset.

    J'ai installer le plugin FF "en-têtes HTTP en direct" ai j'ai modifié ma requête POST pour enlever le ";charset=UTF-8" dans le content-type et du coup lorsque je rejoue la requête ça fonctionne ...

    La cause du problème est toute trouvée, maintenant il me faut juste la solution, un moyen de changer ce comportement de Firefox.

  6. #26
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    tu as quoi comme charset sur la page ?
    colle un header cote serveur sur ta page .
    ou un utf8decode ?

  7. #27
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 6
    Points
    6
    Par défaut
    J'ai déjà essayé le header sur la page web ou de le forcer du côté client.

    L'explication:
    Le gros problème est qu'en faite on utilise Easerver 4.2 qui est une version datant de 2002.
    A cette époque le champs "content-type" n'était spécifié pour contenir qu'un seul paramètre.
    Or FF 3.x automatiquement rajoute un second paramètre qui est "; charset=UTF-8". Résultat le serveur ne comprend pas le champs "content-type" et comme il ne peut déterminer le type du contenu il invalide tout le contenu.

    Le résultat est donc que les paramètres ne sont pas lus par le serveur.


    La solution:
    Mettre à jour le serveur ou le changer =0)
    Oui, c'est pas une vraie solution, mais il n'y en a pas d'autres.

    Merci de votre aide.

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. jquery ajax avec mvc
    Par mvc_dev dans le forum ASP.NET MVC
    Réponses: 1
    Dernier message: 28/04/2011, 10h06
  2. WebService REST avec méthode POST
    Par tetsu no tama dans le forum Développement de jobs
    Réponses: 2
    Dernier message: 18/04/2011, 16h19
  3. [PHP 5.1] Redirection avec méthode POST
    Par richard_sraing dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2010, 18h10
  4. [JQuery] ajax avec Firefox
    Par elvan49 dans le forum jQuery
    Réponses: 2
    Dernier message: 17/12/2007, 12h21
  5. Réponses: 3
    Dernier message: 07/03/2005, 15h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo