嗨,我有一个 JSON 对象,它是一个二维数组,我需要使用 Ajax.Request 将它传递给 PHP(我知道的唯一方法)。...现在我使用 js 函数手动序列化我的数组...并以这种格式获取数据: s[]=1&d[]=3&[]=4 等....
我的问题是:有没有办法更直接/更有效地传递 JSON 对象?..而不是自己序列化它?
感谢您的任何建议,安德鲁
嗨,我有一个 JSON 对象,它是一个二维数组,我需要使用 Ajax.Request 将它传递给 PHP(我知道的唯一方法)。...现在我使用 js 函数手动序列化我的数组...并以这种格式获取数据: s[]=1&d[]=3&[]=4 等....
我的问题是:有没有办法更直接/更有效地传递 JSON 对象?..而不是自己序列化它?
感谢您的任何建议,安德鲁
将对象作为 JSON 字符串传递给 PHP,在 PHP 中使用内置的 json_decode 从字符串中获取 PHP 对象。
在 Javascript 中,在对象上使用“stringify”函数将其作为字符串获取,例如此处提供的库:https ://github.com/douglascrockford/JSON-js/blob/master/json2.js
您还可以使用 Prototype 的函数toJSON()将数组转换为 JSON 对象。通过 Ajax 调用将其传递给服务器后,只需使用 PHP 的函数json_decode()即可对对象进行解码。
在 que Javascript 方面(使用 Prototye):
var myJSON= Object.toJSON(youArray);
在 que Php 方面:
$myjson = $_POST['myjson'];
$arrayJSON= json_decode(stripslashes($myjson), true);
检查 http://www.openjs.com/scripts/data/ued_url_encoded_data/ 直接正确编码嵌套数据,因为 Object.toQueryString() 不接受嵌套数据...