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

jQuery Discussion :

Passer des paramètres dans $.ajax


Sujet :

jQuery

  1. #1
    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 Passer des paramètres dans $.ajax
    Bonjour tout le monde,

    Je fais une requête ajax qui marche qui ressemble à ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    function maFonctionSuccess(response) {
    	        var myJsonObject = xml2json.parser(response);
    	}
            $.ajax( {
    		url : "./web/proxy.jsp",
    		type : "POST",
    		data : ( {
    			url : paramURL,
    		}),
    		success : maFonctionSuccess
    	});
    Donc le je fais une requête et lorsque c'est success j'apelle maFonctionSuccess comme tout le monde l'aura compris je suppose
    Etant donné que je fais mon appel ajax sur un domaine différent je passe par un proxy qui me fait un getParameter("url") pour récupérer l'url passer dans data.
    Ce que j'aimerai faire c'est rajouter un paramètre id et de le récupérer dans ma fonction maFonctionSuccess pour pouvoir l'exploiter après. Mais je ne sais pas du tout comment faire cela. J'ai regardé de coté de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ajaxComplete( callback )
    mais je ne vois rien pouvant correspondre à ma demande.

    Merci de me dire si c'est possible et de m'aiguiller un peu
    A bientôt

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 151
    Points : 154
    Points
    154
    Par défaut
    Quelle est la difficulté à passer un nouveau paramètre "id" et en récupérer un autre paramètre "id" au retour ?
    J'aurais tendance à utiliser directement la fonction post (plus concise et simple à utiliser que $.ajax) en spécifiant le type de données de retour (xml), permettant de manipuler directement les données dans un objet javascript dans la fonction de callback :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $.post(
        './web/proxy.jsp',
        {
            url: paramUrl,
            id: monId
        },
        function(data, textStatus){
            alert( data.id );
            // suite du traitement
        },
        'xml'
    )

  3. #3
    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
    En faisant avec ton $.post je ne passe jamais dans la fonction :S et en adaptant avec mon $.ajax
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $.ajax( {url : "./web/proxy.jsp",
    			type : "POST",
    			data : ( {
    				url : urlRequeteGetFeatureInfo,
    				id : this.getIdLayerEsri(cpt)
    			}),
    			success : function(data, textStatus) {
    				alert(data);
    				alert(textStatus);
    				// suite du traitement
    			}
    	});
    Data me retourne le résultat de ma requête mais aucune possibilité de récupérer mon id. Mon proxy.jsp ressemble à ca si ça peut aider. C'est surement la dedans que je vois faire qqchose.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <%
    	String line = null;
    	URL feedUrl = new URL(request.getParameter("url"));
    	HttpURLConnection feedConnection = (HttpURLConnection) feedUrl
    			.openConnection();
    	BufferedReader buffIn = new BufferedReader(new InputStreamReader(
    			feedConnection.getInputStream()));
     
    	while ((line = buffIn.readLine()) != null)
    %><%=line + "\n"%>
    <%
    	buffIn.close();
    	feedConnection.disconnect();
    %>
    Merci

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 151
    Points : 154
    Points
    154
    Par défaut
    Qu'est-ce que renvoie ta requête Ajax en retour ? C'est bien une réponse au format XML ?
    Pour récupérer l'id en retour, il faut que tu le retournes explicitement dans ton script JSP (je ne connais pas suffisamment Java pour pouvoir t'aider côté JSP).

  5. #5
    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
    Oui j'avais pensé à ça mais j'avais pas l'impression que cette méthode était très très propre mais apparemment c'est comme cela qu'il faut faire donc je vais me débrouiller avec ça.

    Merci

    EDIT: Pour ceux que ça intéresse j'ai rajouter ceci dans mon proxy.jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <% out.println("id : " + id); %>
    Et ensuite je split le résultat pour récupérer ce qui m'intéresse.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [ZF 1.9] Zend Paginator, comment passer des paramètre dans l'url ?
    Par mrjay42 dans le forum Autres composants
    Réponses: 6
    Dernier message: 02/12/2009, 15h49
  2. passer des paramètres dans l'URL
    Par bhs2009 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 06/08/2009, 11h39
  3. Réponses: 4
    Dernier message: 23/01/2009, 11h12
  4. Passer des paramétres dans une URL
    Par adrix26 dans le forum SharePoint
    Réponses: 3
    Dernier message: 04/06/2008, 16h54
  5. Réponses: 1
    Dernier message: 21/03/2006, 14h29

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