私はFirefoxを実行しようとしているphpファイルを持っていて、yslowの結果を得ています。しかし、yslow の結果は [object Object] のようなオブジェクト形式で送信され、post メソッドを使用して結果が送信されます。PHPコードで文字列に変換してWebページに表示するにはどうすればよいですか???
2552 次
4 に答える
1
あなたの質問は少しあいまいです。文字列に変換されるJavaScriptオブジェクトを投稿しようとしているようです。
{foo:'bar'}.toString(); // return "[object Object]"
オブジェクトを POST データに含める場合は、オブジェクトをシリアル化する必要があります。
于 2011-04-08T11:10:02.913 に答える
0
オブジェクトが渡されたJSON.stringify
場合は、文字列として返される必要があります。
var a = { "ynumreq": { "score":85} }; // currently an [object Object]
var b = JSON.stringify(a, null); // now "b" is a string representation of "a", "{ "ynumreq": { "score":85} }"
bが、POSTされている場所で述べたように、基本的にサーバーに送信しているものである場合、PHPにjson_decodeを使用すると(提案されているように)、機能するはずです。
print_r(json_decode($_POST['string_object'])); // in this case it's '{"ynumreq":{"score":85}}'
あなたは得る必要があります
{"ynumreq":{"score":85}}stdClass Object
(
[ynumreq] => stdClass Object
(
[score] => 85
)
)
そこから、値の取得を開始できます。これは、あなたがデータをどのように記述したかに基づいて私がテストしたものです。
于 2011-04-08T18:19:23.870 に答える
-1
JavaScript オブジェクト文字列と JSON の違いは、JSON では変数名 foo が二重引用符で囲まれていることです。json_decode は、JavaScript オブジェクト文字列では機能しません。
于 2012-03-23T20:22:01.930 に答える