我有 php 文件,我试图从中运行 firefox 并获得 yslow 结果。但是 yslow 结果是以对象形式发送的,例如 [object Object] 结果是使用 post 方法发送的。如何将其转换为 php 代码中的字符串并显示到网页???
问问题
2552 次
4 回答
1
你的问题有点模棱两可。听起来您正在尝试发布一个正在转换为字符串的 javascript 对象。
{foo:'bar'}.toString(); // return "[object Object]"
如果要将对象包含在 POST 数据中,则需要序列化它。
于 2011-04-08T11:10:02.913 回答
0
我假设它作为 JSON 发送,您可以使用 json_decode 函数 - http://php.net/manual/en/function.json-decode.php
于 2011-04-08T10:54:58.213 回答
0
如果您的对象被传递给JSON.stringify
then 应该作为字符串返回。
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本质上是您发送到服务器的内容,就像您提到的发布它的位置一样,如果您将 json_decode 用于您的 PHP(如建议的那样),它应该可以工作。
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 回答