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 :

Passer plusieurs headers dans un appel à une API REST


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut Passer plusieurs headers dans un appel à une API REST
    Bonjour,

    Je me triture l'esprit sur comment passer deux headers dans un simple appel fetch pour tracker des shipments :

    Quand je fais ça, cela me ramène une erreur car il manque un header : "{"Content-type": "application/json"}"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <script type="text/javascript">
    function getInfo(){
    	fetch('https://api.com', {
    	  method: "GET",
    	  headers: {"Token": "122334344343434"}
    	})
    	.then(response => response.json()) 
    	.then(response => alert(JSON.stringify(response)))
    	.catch(error => alert("Erreur: " + error));
    }
    </script>
    Si j'essaie de rajouter un second headers de cette manière, ça ne passe pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <script type="text/javascript">
    function getInfo(){
    	fetch('https://api.com', {
    	  method: "GET",
    	  headers: {"Token": "122334344343434"},{"Content-type": "application/json"}
    	})
    	.then(response => response.json()) 
    	.then(response => alert(JSON.stringify(response)))
    	.catch(error => alert("Erreur: " + error));
    }
    </script>
     
    J'ai essayé d'utiliser un objet headers mais toujours pareil.
    Je pleure.
    Merci d'avance pour votre aide !
    Rithy

  2. #2
    Expert éminent sénior

    Avatar de -Nikopol-
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2013
    Messages
    2 174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Haute Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Enseignement

    Informations forums :
    Inscription : Mai 2013
    Messages : 2 174
    Points : 11 289
    Points
    11 289
    Billets dans le blog
    5
    Par défaut
    header recoit un objet donc si il y a plusieurs proprietés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    headers: {
                  "Token": "122334344343434",
                  "Content-type": "application/json"
    }

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut
    Merci beaucoup pour la réponse, déjà oui je n'avais pas le bon formalisme et là je reçois bien un message d'erreur : "TypeError: Failed to fetch".

    Donc avec votre méthode ça donne :
    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
     
    <script type="text/javascript">
    function getInfo(){
    	fetch('https://api.com', {
    	  method: "GET",
    	  headers: {
                  "Token": "122334344343434",
                  "Content-type": "application/json"
    		}
    	})
    	.then(response => response.json()) 
    	.then(response => alert(JSON.stringify(response)))
    	.catch(error => alert("Erreur: " + error));
    }
    </script>
    J'avais aussi essayé ça et en terme de langage je me dis que ça revient au même :

    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
     
    <script type="text/javascript">
    function getInfo(){
     
    	var myHeaders = new Headers();
    	myHeaders.append("Content-Type", "application/json");
    	myHeaders.append("Token", "122334344343434");
     
    	var myInit = { method: 'GET', headers: myHeaders};
     
    	fetch('https://api.com',myInit)
    	.then(response => response.json()) 
    	.then(response => alert(JSON.stringify(response)))
    	.catch(error => alert("Erreur : " + error));
    }
    </script>
    Toujours la même erreur, pourtant dans SOAP ça passe bien.
    Nom : image postman.png
Affichages : 80
Taille : 151,6 Ko

    PS : je précise que j'essaie de faire tout ça sur un site qui n'est que le produit d'un builder, mais qui permet quand même de créer des boutons et des fonctions JS.
    Peut-être qu'il y a des garde-fou. Je vais tester sur un outil online.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut Bon ce n'est pas du au fait que j'utilise un builder
    Bon ce n'est pas du au fait que j'utilise un builder... je crois que j'ai besoin de dormir. La nuit porte conseille.

    Nom : killme.png
Affichages : 100
Taille : 64,3 Ko

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 66
    Points : 51
    Points
    51
    Par défaut Pour ceux que ça intéresse
    C'était un blocage du client car JS n'est pas vraiment approprié pour REST . Le TOKEN est visible sur le client

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

Discussions similaires

  1. Appeler une api Rest depuis un serveur d'application
    Par marc11 dans le forum Java EE
    Réponses: 1
    Dernier message: 25/02/2013, 10h25
  2. [SP-2010] comment passer plusieurs parametres dans L'URL de modal popup sharepoint ?
    Par bouhmid86 dans le forum SharePoint
    Réponses: 1
    Dernier message: 16/12/2011, 13h38
  3. Réponses: 5
    Dernier message: 03/07/2007, 10h31
  4. Réponses: 5
    Dernier message: 24/08/2006, 15h00
  5. Comment remplacer plusieurs caractères dans une chaîne?
    Par Antigonos Ier Gonatas dans le forum Général Python
    Réponses: 5
    Dernier message: 16/06/2006, 16h04

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