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 :

Construction d'objet JSON


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut Construction d'objet JSON
    Bonjour,
    j'essaie de construire un objet json format {'aa':'aa','zz':'zz','ee':'ee','list':{{'p1':'ppp','p2','zzz'},{'p1':'pp','p2','z'}} avant l'envoyer à mon action spring mvc.
    voir le code ci dessous :

    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
     
    function enregistrerCommande(){
    	var data={};
    	data['numeroContrat']= $('#numeroContrat').val();
    	data['numeroCommande']= $('#numeroCommande').val();
    	data['objet']= $('#objet').val();
    	data['description']= $('#description').val();
    	var detailsCommande=[];
    	for(i=0;i<=compteur;i++){
    		var detail ={};
    		detail['typeProduit']=$('#typeProduit'+i).val();
    		detail['quantite']=$('#quantite'+i).val();
    		detail['prix']=$('#prixunit'+i).val();
    		detailsCommande.push(detail);
    	}
    	var detailsCommandeForm = JSON.stringify(detailsCommande);
    	data['detailsCommandeForm']=detailsCommandeForm;
    	console.log(JSON.stringify(data));
    	$.ajax({
    		type:'post',
    		contentType: 'application/json',
    		data:JSON.stringify(data),
    		dataType: 'json',
    		url:'${pageContext.request.contextPath}/saisircommande/enregistrer',
    		success:function(response){
    			console.log(response);
    		},
    		error:function(response){
    			alert('error');
    		}
    	});
    }
    lorsque j'envoie ma requête, j'obtient une erreur 405. mon objet json construit est:
    {"numeroContrat":"1","numeroCommande":"ff","objet":"sdds","description":"fdfsd","detailsCommandeForm":"[{\"typeProduit\":\"1\",\"quantite\":\"1\",\"prix\":\"2\"}]"}
    je pense que le format de mon objet json qui cause cette erreur.
    comment faire pour qu'il soit au format mentionné ci dessus ?

    Merci.

  2. #2
    Membre éclairé Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut
    Le problème est coté action spring, le code javascript marche très bien.

  3. #3
    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 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    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 659
    Billets dans le blog
    1
    Par défaut
    un souci de format de json reçu peut être du a des caractères parasites en début de fichier ?
    du BOM ? ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  4. #4
    Membre éclairé Avatar de kodo
    Profil pro
    Chef de projet technique
    Inscrit en
    Mars 2006
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations professionnelles :
    Activité : Chef de projet technique

    Informations forums :
    Inscription : Mars 2006
    Messages : 300
    Par défaut
    pour les requêtes post il faut envoyer aussi le token csrf.
    tout se passe bien avec le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    $.ajax({
    		type:'post',
    		contentType: 'application/json',
    		data: JSON.stringify(data),
    		dataType: 'json',
    		url:'${pageContext.request.contextPath}/saisircommande/enregistrer?${_csrf.parameterName}=${_csrf.token}',
    		success:function(response){
    			console.log(response);
    		},
    		error:function(response){
    			alert('error : '+response.responseText);
    		}
    	});

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

Discussions similaires

  1. [POO] Objet json , comment instancier un nouvel objet ?
    Par le_chomeur dans le forum Général JavaScript
    Réponses: 15
    Dernier message: 29/10/2008, 10h19
  2. retourner objet Json via ajax ? hmm
    Par Myfred dans le forum Général JavaScript
    Réponses: 18
    Dernier message: 25/06/2008, 11h06
  3. [POO] Restaurer un objet JSon en javascript
    Par GandalfZeGrey dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 21/01/2008, 15h14
  4. [POO] lecture objet json
    Par taouja dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 10/12/2007, 11h32
  5. Réponses: 29
    Dernier message: 17/07/2006, 01h33

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