使用Ajax.Request将JSON从浏览器传递到PHP的最佳方法

时间:2008-11-23 01:26:52

标签: php json prototypejs ajax.request

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

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

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

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:5)

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

答案 2 :(得分:2)

在que Javascript方面(使用Prototype):

var myJSON= Object.toJSON(youArray);

队列Php方面:

$myjson = $_POST['myjson'];

$arrayJSON= json_decode(stripslashes($myjson), true);

答案 3 :(得分:0)

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