在请求中发布请求

时间:2018-08-28 11:58:34

标签: javascript reactjs httprequest

无法使用提取方法发送POST请求

我能够从服务器获取请求,但是无法动态发布请求。我正在使用输入值,但显示以下错误:

  

错误:语法错误:“ JSON.parse:JSON数据第1行第1列的意外字符”

foo_timer_windows.c

我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

我刚刚更改并从顶部删除const input = {tweet: {body: ''}};并将其写入handleSubmit函数,只需在下面进行检查即可:-

handleSubmit(e){
 e.preventDefault()
 const input = {tweet: {body:  this.state.value}};
 fetch(url, {
method: 'POST',  
body: JSON.stringify(input),  
headers:{
  'Content-Type': 'application/json'
 }
  }).then(res => res.json())
  .then(response => console.log('Success:', JSON.stringify(response)))
  .catch(error => console.error('Error:', error));
 }

答案 1 :(得分:0)

handleSubmit(e) {
  fetch("http://some domain/api/tweets", { /*your object...*/ })
     .then(res => res.text()) // previous .then(res => res.json())
     .then(text => console.log(text))
     ...
}

在此位置,res.json()调用似乎是错误的,因为您的响应可能不是有效的JSON对象。也许改为尝试res.text(),然后console.log来回答,看看它告诉你什么。

有关响应对象的更多信息,您可以在这里找到:MDN - Response Object