4

嗨,我有一个 JSON 对象,它是一个二维数组,我需要使用 Ajax.Request 将它传递给 PHP(我知道的唯一方法)。...现在我使用 js 函数手动序列化我的数组...并以这种格式获取数据: s[]=1&d[]=3&[]=4 等....

我的问题是:有没有办法更直接/更有效地传递 JSON 对象?..而不是自己序列化它?

感谢您的任何建议,安德鲁

4

4 回答 4

5

将对象作为 JSON 字符串传递给 PHP,在 PHP 中使用内置的 json_decode 从字符串中获取 PHP 对象。

在 Javascript 中,在对象上使用“stringify”函数将其作为字符串获取,例如此处提供的库:https ://github.com/douglascrockford/JSON-js/blob/master/json2.js

于 2008-11-23T01:43:26.710 回答
5

您还可以使用 Prototype 的函数toJSON()将数组转换为 JSON 对象。通过 Ajax 调用将其传递给服务器后,只需使用 PHP 的函数json_decode()即可对对象进行解码。

于 2008-11-23T02:51:19.723 回答
2

在 que Javascript 方面(使用 Prototye):

var myJSON= Object.toJSON(youArray);

在 que Php 方面:

$myjson = $_POST['myjson'];

$arrayJSON= json_decode(stripslashes($myjson), true);
于 2008-11-23T03:01:20.390 回答
0

检查 http://www.openjs.com/scripts/data/ued_url_encoded_data/ 直接正确编码嵌套数据,因为 Object.toQueryString() 不接受嵌套数据...

于 2010-02-25T14:22:49.443 回答