4

私のJavasSriptはリクエストを送信します:

var jax = new XMLHttpRequest();
jax.open("POST", "http://localhost/some.php", true);
jax.setRequestHeader("Content-Type", "application/json");
jax.send(JSON.stringify(jsonObj));
jax.onreadystatechange = function() {
    if(jax.readyState === 4) { console.log(jax.responseText);  }
}

現在、私のphpが行うことは次のとおりです。

print_r($HTTP_RAW_POST_DATA);
print_r($_POST);

生の投稿データからの出力はオブジェクト文字列ですが、投稿配列は空です。

{"name" : "somename", "innerObj" : {} ... }
Array
(
)

変数の適切な形式で取得する必要があり$_POST、jquery はオプションではありません。

4

2 に答える 2

6

そうです、user1091949が私のコメントを回答として投稿したので、これも同じことです.OPは誰の回答を承認するかを選択できます(うまくいった場合):

$json = json_decode(file_get_contents('php://input'));

この時点で、$jsonのインスタンスになりstdClassます... 連想配列を使用する場合は、2 番目のパラメーターをjson_decode('{"json":"string"}', true);

ところで:決しての禁止されたエラーサプレッサーを使用することはありません:。エラーは、あなたを困らせるためではなく、あなたを助けるために存在します...@

于 2013-06-14T18:01:15.937 に答える