Javascript fetch正在从AT向后端发送错误的数据

Javascript fetch正在从AT向后端发送错误的数据,javascript,node.js,reactjs,api,fetch,Javascript,Node.js,Reactjs,Api,Fetch,}) .then(res=>res.json()) .那么( (结果)=>{ 如果(result.status=='failure'){ 警报(结果、数据) console.log(结果) }否则{ 这是我的国家({ isLoaded:是的, }); } //this.props.history.push('/dashboard'); }, //注意:这里处理错误很重要 //而不是一个catch()块,这样我们就不会吞咽 //组件中实际错误的例外情况。 (错误)=>{ 这是我的国家({ isLo

}) .then(res=>res.json()) .那么( (结果)=>{ 如果(result.status=='failure'){ 警报(结果、数据) console.log(结果) }否则{ 这是我的国家({ isLoaded:是的, }); } //this.props.history.push('/dashboard'); }, //注意:这里处理错误很重要 //而不是一个catch()块,这样我们就不会吞咽 //组件中实际错误的例外情况。 (错误)=>{ 这是我的国家({ isLoaded:是的, 错误 }); } ) }

预期的数据应该是

handleSubmit = e => {
e.preventDefault();
var data = new FormData();
data.append( "name", this.state.first_name + ' ' +this.state.last_name);
data.append( "password", this.state.password);
data.append( "email", this.state.email);
data.append( "phone_no", this.state.phone_no);
console.log(data)
fetch("http://localhost:8080/register",{
  method: "POST",
  body: data,
  headers: {
    'Content-Type': 'application/x-www-form-urlencoded'
  }
它正在回归的是

{ name: 'mayank', email: 'demo@gmail.com', password: 'password' }

发送
JSON
而不是
FormData

{ '------WebKitFormBoundarynYkonogmAGuTwWsy\r\nContent-Disposition: form-data; name': '"name"\r\n\r\   nMayank nauriyal\r\n------WebKitFormBoundarynYkonogmAGuTwWsy\r\nContent-Disposition: form-data; name   ="password"\r\n\r\npassword\r\n------WebKitFormBoundarynYkonogmAGuTwWsy\r\nContent-Disposition: form   -data; name="email"\r\n\r\nma@gmail.com\r\n------WebKitFormBoundarynYkonogmAGuTwWsy\r\nContent-Dispo   sition: form-data; name="phone_no"\r\n\r\n\r\n------WebKitFormBoundarynYkonogmAGuTwWsy--\r\n' }

为什么不发送JSON而不是表单?它以错误的格式发送正确的数据。将
application/x-www-form-urlencoded
更改为
application/json
,并将正文更改为
json.stringify(object)
,而不是
FormData
。谢谢老兄,我在这个愚蠢的事情上坚持了一个小时。
var jsObject = {name: 'John', password: 'foo', email: 'foo@bar.com'};

fetch(url, {
  method: 'POST',
  body: JSON.stringify(jsObject),
  headers:{
    'Content-Type': 'application/json'
  }
}).then(res => res.json())
.then(response => console.log('Success:', response))
.catch(error => console.error('Error:', error));