您好我有一个2维数组的JSON对象,我需要使用Ajax.Request将其传递给PHP(我只知道如何)。 ...现在我使用js函数手动序列化我的数组...并以这种格式获取数据:s [] = 1& d [] = 3& [] = 4等....
我的问题是:有没有办法更直接/更有效地传递JSON对象?而不是自己序列化?
感谢您的任何建议, 安德鲁
答案 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()不接受嵌套数据...