JavaScript fetch()
リクエストに対応するために、次のPHPコードを使用しています。私のJavaScriptコードで戻るJavaScriptレスポンスを理解する
$json = json_encode(array(
'status' => 200,
'resources' => $dataObj
));
http_response_code(200);
header('Content-Type: application/json');
echo $json;
exit;
、私は応答を取得した後、私は次の操作を実行できます。
console.log(response.status);
console.log(response.resources);
console.log(JSON.stringify(response.resources));
最初の行は動作し、200
の値を示しています。他の行にはundefined
と表示されます。
コードの前にresponse.json()を追加すると、3つのコンソール行がすべて正しく表示されます。
let resp = await response.json();
console.log(resp.status);
console.log(resp.resources);
console.log(JSON.stringify(resp.resources));
私の質問は:最初の例では、私は正確に200の状態を見ることができますなぜ、私は、データオブジェクトを参照するために、JSON()関数を使用する必要がありますか?
"{'status':200,'resources':'sth'}"
と、その文字列はリソースプロパティをhasnt:
これは動作するためです。 https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch –
すべてのhttpリクエストから戻ってきた 'status'コードを手動で追加した' status'プロパティで混ぜていますあなたのjsonの応答に。 – Jamiec
@Jamiecああ、あなたは正しい。それはまさに私がやっていたことです。ありがとうございました! – kojow7