Javascript 为什么fetch()发送的是空正文?

Javascript 为什么fetch()发送的是空正文?,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,在我的JavaScript客户端中,我有: var myHeaders = new Headers(); myHeaders.append('Authorization', 'Token token=redacted>'); myHeaders.append('Content-Type', 'application/json'); myHeaders.append('Accept', 'application/json'); var myPost = {method: 'POST', he

在我的JavaScript客户端中,我有:

var myHeaders = new Headers();
myHeaders.append('Authorization', 'Token token=redacted>');
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Accept', 'application/json');
var myPost = {method: 'POST', headers: myHeaders};  
var myBody = {body: 'id=1234&result=true&url=http://example.com'}
// for example; generated dynamically but I've checked it works
fetch(database.getValue("base") + "/task/from_chrome", myPost, myBody).then (#etc
那么,为什么我要在服务器端(Rails中)获得以下内容

服务器端代码已经过验证;这是客户端JavaScript的一个问题,我必须重写它才能使用fetch()

谢谢

window.fetch只接受2个参数,请尝试以下操作:

var myPost = {
  method: 'POST', 
  headers: myHeaders,
  body: 'id=1234&result=true&url=http://example.com'};  
fetch(database.getValue("base") + "/task/from_chrome", myPost).then

非常接近,谢谢。从这里开始,我只需通过向JSON.stringify()传递散列来生成主体字符串。
var myPost = {
  method: 'POST', 
  headers: myHeaders,
  body: 'id=1234&result=true&url=http://example.com'};  
fetch(database.getValue("base") + "/task/from_chrome", myPost).then