サーバーにデータを投稿しようとしていますが、応答データを取得する方法がわかりません。
次のコードがあります:
fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: login,
password: password,
})
}).then(function(a){
console.log(a);
})
body (ReadableByteStream)、bodyUsed (false)、ok (true)、status (200) などのデータを含む内容が出力されますResponse
が、返されたデータがどこにも見つかりません。Chrome 開発者コンソールのネットワークを開くと、応答データが表示されます。
何が間違っているのでしょうか?
フェッチ、プロミスなどがどのように機能するかについてのリソースを探していましたが、よく書かれたものは見つかりませんでした。
ベストアンサー1
フェッチ応答で呼び出すメソッドは他にもあります。たとえば.json()
、 、 などです.blob()
。これらのメソッドは、 で呼び出すことができる Promise を返します.then()
。
fetch(url, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
email: login,
password: password,
})
})
.then(function (a) {
return a.json(); // call the json method on the response to get JSON
})
.then(function (json) {
console.log(json)
})
チェックアウトフェッチの使用に関するドキュメント、および他のドキュメント応答オブジェクトは動作しますフェッチ呼び出しで。