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

AJAX Discussion :

Valeur undefined à la récuperation d'une variable JSON


Sujet :

AJAX

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Points : 49
    Points
    49
    Par défaut Valeur undefined à la récuperation d'une variable JSON
    Bonjour,

    Sur un écran je clique sur un bouton ouvrant une popup mais avant il y a des vérification d'ou l'utilisation d'AJAX sauf que la variable JSON retournée a la valeur undefined :/

    L'appel AJAX :

    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
     
    	$.ajax({
    		url : 'RapprochementCpta-event.do?justif=true',
    		type : 'POST',
    		dataType : 'json',
    		success : function() {
     
    			alert(JSON.errorExist);
    		},
    		error: function(){
     
    		    alert('failure');
    		  }
    	}
    	);
    la classe JAVA ou la variable JSON est initialisée :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		    		   errorExist = new JSONObject();	    		  
    		    		  errorExist.put("errorExist", "yes");



    Merci de votre aide.

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    Tu devrais utiliser la console de développement de ton navigateur, pour regarder quelle réponse est réellement renvoyée par le serveur.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Points : 49
    Points
    49
    Par défaut
    Merci de votre réponse.

    sur le JSON.errorExist j'ai eu ce résultat.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Blocage d'une requête multi-origines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://rapprochementcpta-event.do/?justif=true&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined. Raison : échec de la requête CORS.

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    je ne pense pas qu'une telle chose puisse arriver avec le code AJAX que tu nous as montré. Par exemple avec le code montré cette série de undefined=undefined n'a aucune raison de sortir de nulle part. Et tu ne pourrais pas savoir que la variable JSON.errorExist est undefined, puisque cela se vérifie dans la fonction success et que c'est forcément dans la fonction error que tu arriveras.

    Il faut montrer le vrai code et dire ce qui se passe vraiment. Nous ne pouvons pas t'aider à l'aveuglette.
    Peut-être que tu te trompes dans tes fichiers ? Peut-être que tu croyais que ton code AJAX c'est ce que tu as montré, mais en fait c'est complètement autre chose ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Points : 49
    Points
    49
    Par défaut
    Hey,
    j'ai corrigé l'erreur de compilation que j'avais. mnt ça passe par success, sauf qu'en retour (data) j'ai un array de donnée qui correspond à un tableau dans la page jsp appellé par l'action en question.

    Voici le code javascript inclu dans la page jsp avec l'initialisation de la variable data et son alimentation. (coloré).
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    	/* Insertion des données dans la grille principale*/
    	var data = [];
    	var dataInsertSelect = [];
     
    	// remplissage des variables textuelles utilisé en JS.
     
    	function insertDataSelect(){
    		var typeStock;	
    		var dataInsertSelect;
    		<logic:equal name="TYPE_STOCK" value="HISTORIQUE">
    			typeStock="HISTORIQUE";
    		</logic:equal>
     
    		<logic:equal name="TYPE_STOCK" value="RAPPROCHEMENT">
    			typeStock="RAPPROCHEMENT";
    		</logic:equal>
    			return typeStock;
    		}	
     
    	function insertData(){	
    		var dataInsert = [];
    		var i=0;	
    		var mtBac;
    		var mtSolde;
    		var mtNonJustifCtv;
    		var mtJustif;
    		var mtJustifCtv;
    		var cdJustif;
    		var libJustif;
     
     
    		<logic:present name="TB_LIGNE_CPTA_RAPPROCH_BEAN_LIST">	
    		<logic:iterate id="elementAgregat" name="TB_LIGNE_CPTA_RAPPROCH_BEAN_LIST" type="com.bnpparibas.bacso.common.bean.TbLigneCptaRapprochBean">
     
     
    		<logic:equal name="ID_PERIODICITE" value="SJ"> 	
    			mtBac = parseFloat("<bean:write name='elementAgregat' property='mtSoldeBacSj'/>");
    			mtSolde = parseFloat("<bean:write name='elementAgregat' property='mtSoldeSoSj'/>");
    			mtNonJustifCtv = parseFloat("<bean:write name='elementAgregat' property='mtNonJustifCtv'/>");
    			mtJustif = parseFloat("<bean:write name='elementAgregat' property='mtJustifSj'/>");
    			mtJustifCtv = parseFloat("<bean:write name='elementAgregat' property='mtJustifCtv'/>");
    			cdJustif = "<bean:write name='elementAgregat' property='cdJustifSj'/>";
    			libJustif = "<bean:write name='elementAgregat' property='lib_justif'/>";		
    			mtEcart = parseFloat("<bean:write name='elementAgregat' property='mtEcartSj'/>");
    			mtEcartCtv = parseFloat("<bean:write name='elementAgregat' property='mtEcartCtvSj'/>");
    			mtEcartNet = parseFloat("<bean:write name='elementAgregat' property='mtEcartNetSj'/>");
    			mtEcartNetCtv = parseFloat("<bean:write name='elementAgregat' property='mtEcartNetCtvSj'/>");	
    			cdResultatRapproch = "<bean:write name='elementAgregat' property='cdResultatRapprochSj'/>";
    		</logic:equal>	
     
    		<logic:equal name="ID_PERIODICITE" value="MD">
    			mtBac = parseFloat("<bean:write name='elementAgregat' property='mtSoldeBacMd'/>");
    			mtSolde = parseFloat("<bean:write name='elementAgregat' property='mtSoldeSoMd'/>");
    			mtNonJustifCtv = parseFloat("<bean:write name='elementAgregat' property='mtNonJustifCtv'/>");
    			mtJustif = parseFloat("<bean:write name='elementAgregat' property='mtJustifMd'/>");
    			mtJustifCtv = parseFloat("<bean:write name='elementAgregat' property='mtJustifCtv'/>");
    			cdJustif = "<bean:write name='elementAgregat' property='cdJustifMd'/>";
    			libJustif = "<bean:write name='elementAgregat' property='lib_justif'/>";		
    			mtEcart = parseFloat("<bean:write name='elementAgregat' property='mtEcartMd'/>");
    			mtEcartCtv = parseFloat("<bean:write name='elementAgregat' property='mtEcartCtvMd'/>");
    			mtEcartNet = parseFloat("<bean:write name='elementAgregat' property='mtEcartNetMd'/>");
    			mtEcartNetCtv = parseFloat("<bean:write name='elementAgregat' property='mtEcartNetCtvMd'/>");
    			cdResultatRapproch = "<bean:write name='elementAgregat' property='cdResultatRapprochMd'/>";	
    		</logic:equal>	
    		dataInsert[i]={id:"<bean:write name='elementAgregat' property='idCleRapproch'/>",
    		cdEntite:"<bean:write name='elementAgregat' property='cdEntite'/>",
    		cdSDBR:"<bean:write name='elementAgregat' property='cdSDBR'/>",
    		cdSDBLOC:"<bean:write name='elementAgregat' property='cdSDBLOC'/>",
    		cdResultatRapproch:cdResultatRapproch,
    		noProduitRapproch:"<bean:write name='elementAgregat' property='noProduitRapproch'/>",
    		noCompteRapproch:"<bean:write name='elementAgregat' property='noCompteRapproch'/>",
    		cdDevise:"<bean:write name='elementAgregat' property='cdDevise'/>",
    		noDossierRapproch:"<bean:write name='elementAgregat' property='noDossierRapproch'/>",
    		noOperationRapproch:"<bean:write name='elementAgregat' property='noOperationRapproch'/>",
    		cdJustif:cdJustif,
    		mtEcartNetCtv:mtEcartNetCtv,
    		mtSoldeBac:mtBac,
    		mtSoldeSo:mtSolde,
    		mtEcart:mtEcart,
    		mtEcartCtv:mtEcartCtv,
    		mtJustif:mtJustif,
    		mtEcartNet:mtEcartNet,
    		cdGestion:"<bean:write name='elementAgregat' property='cdGestion'/>",
    		auteurJustif:"<bean:write name='elementAgregat' property='auteurJustif'/>",
    		dtJustif:"<bean:write name='elementAgregat' property='dtJustifISO'/>",
    		dateMajEcart:"<bean:write name='elementAgregat' property='dtModificationEcartISO'/>",
    		dateEcart:"<bean:write name='elementAgregat' property='dtApparitionEcartISO'/>",
    		libJustif:libJustif,
    		mtJustifCtv:mtJustifCtv,
    		mtNonJustifCtv:mtNonJustifCtv,
    		noPtf:"<bean:write name='elementAgregat' property='noPtf'/>"};i++;</logic:iterate>
    		</logic:present>
    		return dataInsert;
    	}
    data = insertData();
    	dataInsertSelect = insertDataSelect();
    Et voici le code de mon appel ajax :
    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
    $.ajax({
    		url : 'RapprochementCpta-event.do?justif=true',
    		type : 'GET',
    		data : data,
    		//contentType: "application/json",
    		//dataType : 'json',
    		success : function() {
    			alert(JSON.stringify(data));
    			alert(JSON.errorExist);
    		},
    		error: function(){
    			alert(JSON.errorExist);
    		    alert('failure');
    		  }
    	}
    	);
    Et dans l'action voici la variable que je souhaite récupérer dans javascript au lieu de la data actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    errorExist = new JSONObject();  
    errorExist.put("errorExist", "yes");
    dans le premieralert(JSON.stringify(data)); j'ai tout le contenu de la table
    et dans le deuxieme c'est undefined.

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Pourquoi diable aurais-tu quelque chose en retour dans ta variable "data" ? C'est une variable d'entrée !

    Relis les tutoriels qui t'ont montré la syntaxe d'AJAX, et fais comme eux pour récupérer une valeur de retour.
    Notamment, ta fonction success devrait prendre un paramètre, et c'est ce paramètre qui devrait contenir les valeurs de retour.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 115
    Points : 49
    Points
    49
    Par défaut
    maintenant j'ai comme retour toute la page (en code html).

    Or j'ai besoin juste de la valeur de la variable déja alimenté en action.

  8. #8
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Je te l'ai déjà dit avant, je crois :

    - Il faut montrer le code. Si "maintenant" il y a autre chose qu'"avant" c'est que ton code a changé, pas vrai ?
    - Tu devrais utiliser le débogueur de ton navigateur pour savoir qu'est-ce que le serveur répond à ta requête AJAX.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Valeur undefined à la récuperation d'une variable JSON
    Par freestyler1982 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 11/01/2016, 14h37
  2. Récupérer la valeur d'une variable JSON en Javascript
    Par freestyler1982 dans le forum Général Conception Web
    Réponses: 3
    Dernier message: 11/01/2016, 12h44
  3. [Batch] Récuperer dans une variable, la valeur d'une commande
    Par SanTa62 dans le forum Scripts/Batch
    Réponses: 8
    Dernier message: 06/07/2010, 18h08
  4. Réponses: 1
    Dernier message: 31/08/2009, 22h48
  5. [formulaire] Récuperer la valeur d'un select dans une variable
    Par Despec dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 03/11/2006, 15h45

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