0

私はFirefoxを実行しようとしているphpファイルを持っていて、yslowの結果を得ています。しかし、yslow の結果は [object Object] のようなオブジェクト形式で送信され、post メソッドを使用して結果が送信されます。PHPコードで文字列に変換してWebページに表示するにはどうすればよいですか???

4

4 に答える 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 に答える