file_get_contents('php://input')
から文字列を取得しています。私はjson_decode()
を試しましたが、文字列はjsonではありません。ここにajaxリクエストとPHPコードがあります。 jsonをajaxリクエストから送信してPHP配列に変換するにはどうすればよいですか?"php:// input" json ajaxリクエストの文字列を返します
$data = file_get_contents('php://input');
var_dump($data);
echo $data;
出力:
string(7) "id=myId"
"id=myId"
アヤックス(付属のjQuery):
$.ajax({
"url": "myFile.php",
"type": "POST",
"contentType": "Json",
"data": {"id": "myId"},
}).done(function(data, status) {
if (status == "success") {
console.log(data);
}
}).fail(function(data, status, error) {
throw new Error(error);
console.log(data);
console.log(status);
});
編集:json_encode()
はnullを返しているので、私はこの質問から答えを使用することはできません。PHP: file_get_contents('php://input') returning string for JSON message
JSONメッセージの文字列を返す[PHP:file \ _get \ _contents( 'php:// input')の可能な複製](https://stackoverflow.com/questions/21974951/php-file-get-contentsphp- json-messageのための入力戻り文字列) – Woodrow
フォームエンコードされています。あなたは自分でそれを解読することも、PHPが既にそれをデコードした '$ _POST ['id']'でアクセスすることもできます。 – Sammitch
'$ _POST [" data "]'と '$ _POST [" id "]'は私のために働いていなかったので、仕事をした 'file_get_contents( 'php:// input')'を強制的に使用しました – Rishi