2016-04-18 6 views
0

fetch()が空のボディを送信するのはなぜですか?私は私の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の中で)サーバ側で次のように取得していますか?

> request.body.read 
=> "" 

サーバーサイドコードは以前に証明されています。それは私がfetch()を使うために書き直さなければならなかったクライアント側のJavaScriptの問題です。

おかげ

答えて

0

https://developer.mozilla.org/en/docs/Web/API/GlobalFetch/fetch

window.fetchのみ2のparamsをとり、これを試してみてください。

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

非常に近い、感謝を。そこから、私はJSON.stringify()にハッシュを渡すことで本体文字列を生成しなければなりませんでした。 –

関連する問題