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

NodeJS Discussion :

Envoyer et lire un objet avec XMLHttpRequest


Sujet :

NodeJS

  1. #1
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 3
    Points
    3
    Par défaut Envoyer et lire un objet avec XMLHttpRequest
    Bonjour

    Je viens chercher un peu de lumière
    car je viens tout juste de commencer le JS et NODE.

    J'ai un objet coté client que j'aimerai enregistrer dans ma bdd mongodb.

    Voila comment j'imagine les choses :

    1- Faire une requête XHR pour envoyer mon objet au format JSON à mon serveur
    2- Parser le JSON coté serveur et remplir ma bdd avec les données

    - Est-ce la bonne méthode ?
    - Si oui, comment j'envoie l'objet coté client ?
    - Et surtout, comment je récupère l'objet coté serveur ?

    Merci pour votre aide

  2. #2
    Membre éclairé
    Avatar de LearningBoy
    Homme Profil pro
    Ingénieur Logiciel - Fullstack JavaScript
    Inscrit en
    Août 2017
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Logiciel - Fullstack JavaScript
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 73
    Points : 664
    Points
    664
    Par défaut Bonne voie
    Bonjour Math1104,

    Ta méthode est la bonne, on envoie les informations en JSON au serveur, qui récupère les données et les insère en base.
    Pour envoyer un objet JSON depuis le côté client, tu dois passer par l'objet XHR :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var xmlhttp = new XMLHttpRequest();   // nouvelles instance de XHR 
    xmlhttp.open("POST", "/json-handler");
    xmlhttp.setRequestHeader("Content-Type", "application/json"); // On définit que l'on envoie du JSON
    xmlhttp.send(JSON.stringify({name:"Green Lantern", color:"green"})); // Ton objet JSON
    Pour la récupèration côté serveur, je sèche par contre, je n'ai pas encore eu l'occasion d'utiliser MongoDB.


    Simon,

    Auteur sur Awesome Angular.
    Découvrez "Angular, ECMAScript 6 et TypeScript" pour vos futurs développements web...

  3. #3
    Candidat au Club
    Homme Profil pro
    étudiant
    Inscrit en
    Mars 2017
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Mars 2017
    Messages : 9
    Points : 3
    Points
    3
    Par défaut
    Merci LearningBoy ! J'ai réussi a insérer les données dans ma BDD.

    Pour récupérer les données coté serveur, j'ai utilisé le module 'body-parser' sur req.body !

    Maintenant j'ai un autre soucis, ca marche bien depuis un desktop, mais pas depuis mon iPhone.
    J'ai vérifier avec la console sur safari, ma requête XHR fonctionne bien mais elle n'insère rien en bdd. Grrrr

  4. #4
    Membre éclairé
    Avatar de LearningBoy
    Homme Profil pro
    Ingénieur Logiciel - Fullstack JavaScript
    Inscrit en
    Août 2017
    Messages
    73
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur Logiciel - Fullstack JavaScript
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2017
    Messages : 73
    Points : 664
    Points
    664
    Par défaut Exemple pour d'autres navigateurs
    Bonjour Math1104,

    L'exemple de requête XHR ci-dessus est un exemple standard pour les navigateurs les plus "tolérants".
    En fait, XHR est un objet à la base développé pour IE, donc au niveau du support ça n'est pas génial. Le mieux est d'utilisé une libraire qui assure le fonctionnement de ta requête sur tout les navigateurs (jQuery avec $ajax par exemple), sinon j'ai trouvé cet exemple qui te permettra d'envoyer ta requête avec Safari normalement. (et même IE 7 )

    Simon,

    Auteur sur AwesomeAngular.
    Découvrez "Angular, ECMAScript 6 et TypeScript" pour vos futurs développements web...

Discussions similaires

  1. Message dans macro envoyer objet avec Access 2002
    Par bibi28 dans le forum VBA Access
    Réponses: 5
    Dernier message: 26/10/2011, 10h47
  2. Réponses: 1
    Dernier message: 24/10/2011, 00h04
  3. Envoyer un objet avec un Intent
    Par glycerine dans le forum Android
    Réponses: 5
    Dernier message: 27/05/2011, 10h21
  4. Envoyer un objet avec un socket
    Par MAX-k dans le forum C#
    Réponses: 5
    Dernier message: 24/05/2011, 21h27
  5. [AJAX] Comment recuperer la propriété d'un objet Java avec XmlHttpRequest ?
    Par framus.class dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 22/02/2008, 09h58

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