在GET请求中传递有效负载React fetch

时间:2018-01-10 12:26:07

标签: javascript node.js reactjs fetch

我正在尝试构建一个react / node应用程序,我试图将一个从用户输入到nodejs api的值传递给一个单独的api(Instagram API)

我想从React应用程序将对象附加到req.body。我想做这样的事情:

app.get('/hashtags', (req,res) => {
   console.log(req.body);
   console.log(req.body.tag);
});

这是我对上述节点请求负责的反应应用代码:

handleChange(e){
   const searchtag = 'hello';

   fetch('/hashtags', {
     method: 'GET',
     headers: {
       Accept: 'application/json',
       'Content-Type': 'application/json',
     },
     body: JSON.stringify({
       tag: searchtag,
     }),
   })
}

点击按钮时,我正在调用handleChange功能。 至于上面的代码,我需要我的节点api用/hashtags来呼叫req.body.tag = 'hello'(因为我从反应中传递'hello')。

但是这给了我以下错误:

Uncaught (in promise) TypeError: Failed to execute 'fetch' on 'Window': Request with GET/HEAD method cannot have body.

如果不能这样做:如何从反应应用程序中将对象附加到节点api req.body

1 个答案:

答案 0 :(得分:1)

如果您想传递字符串搜索标记,为什么要按照body rest传递它,请将其传递到网址中

 handleChange(e){
    const searchtag = 'hello';

    fetch('/hashtags/' + searchtag, {
      method: 'GET',
      headers: {
        Accept: 'application/json',
        'Content-Type': 'application/json',
      },
     ),
    })
  }