Maison  >  Questions et réponses  >  le corps du texte

Obtenir : transférer des données JSON

<p>J'essaie de POST un objet JSON en utilisant la méthode fetch. </p> <p>D'après ma compréhension, je dois ajouter un objet chaîne au corps de la requête, par exemple : </p> <pre class="brush:js;toolbar:false;">fetch("/echo/json/", { en-têtes : { 'Accepter' : 'application/json', « Type de contenu » : « application/json » }, méthode : "POST", corps : JSON.stringify({a : 1, b : 2}) }) .then(function(res){ console.log(res) }) .catch(function(res){ console.log(res) }) ≪/pré> <p>Lorsque j'utilise l'écho JSON de jsfiddle, je m'attends à pouvoir voir l'objet que j'envoie (<code>{a: 1, b: 2}</code>), mais cela ne se produit pas - Développement Chrome L'outil auteur n'affiche même pas le JSON dans le cadre de la requête, ce qui signifie qu'il n'est pas envoyé. </p>
P粉348915572P粉348915572449 Il y a quelques jours542

répondre à tous(2)je répondrai

  • P粉458725040

    P粉4587250402023-08-21 10:51:25

    Je pense que votre problème est jsfiddle只能处理form-urlencoded请求。但是正确的方法是将正确的jsonpasser comme corps de requête :

    fetch('https://httpbin.org/post', {
      method: 'POST',
      headers: {
        'Accept': 'application/json, text/plain, */*',
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({a: 7, str: 'Some string: &=&'})
    }).then(res => res.json())
      .then(res => console.log(res));

    répondre
    0
  • P粉819937486

    P粉8199374862023-08-21 10:15:17

    Comment utiliser les async/await支持,这是如何进行POST données JSON d'ES2017 :

    (async () => {
      const rawResponse = await fetch('https://httpbin.org/post', {
        method: 'POST',
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json'
        },
        body: JSON.stringify({a: 1, b: 'Textual content'})
      });
      const content = await rawResponse.json();
    
      console.log(content);
    })();

    répondre
    0
  • Annulerrépondre