javacriptのfetch()
を使用してデータを送信しています。
fetch('/string.php', {
method: 'post',
body: JSON.stringify({
name: 'helloe world',
})
})
.then(function(response) {
if (response.status >= 200 && response.status < 300) {
return response.text()
}
throw new Error(response.statusText)
})
.then(function(response) {
console.log(response);
})
string.phpファイルが含まれています
print_r($_POST);
を今私の問題は$_POST
戻り空の配列です。ファイルを添付してこれを修正することができます:
$_POST = json_decode(file_get_contents('php://input'), true);
しかし、それは非常にハックを感じ、理想的ではありません。これはJS fetch()
から投稿データを取得する際のPHPの意図した動作ですか?
とにかく内容が自動的に$_POST
に入れられることはありますか?
私には正しいと思われますが、複数の部分からなるフォームデータではなく、文字列のリクエスト本文を送信しています。 – Scuzzy
'json.stringify'を削除するのは、php://の入力を解析するよりも面倒ではありません –