我正在尝试这个我见过的新方法serializeArray()
.
//with ajax
var data = $("#form :input").serializeArray();
post_var = {'action': 'process', 'data': data };
$.ajax({.....etc
这样我就得到了这些键值对,但是如何使用 PHP 访问它们呢?
我以为我需要这样做,但它不起作用:
// in PHP script
$data = json_decode($_POST['data'], true);
var_dump($data);// will return NULL?
谢谢,理查德
就像 Gumbo 所建议的那样,您可能不会处理返回值json_解码 http://de3.php.net/manual/en/function.json-decode.php.
Try
$data = json_decode($_POST['data'], true);
var_dump($data);
If $data
不包含预期数据,则var_dump($_POST);
查看 Ajax 调用向您的脚本发布了什么内容。可能您正在尝试从错误的密钥访问 JSON。
EDIT
实际上,您应该首先确保您确实发送了 JSON :)
序列化状态的 jQuery 文档.serializeArray() 方法创建一个 JavaScriptarray的物体,准备编码作为 JSON 字符串。准备编码的不是 JSON。显然,jQuery 中没有 Object2JSON 函数,所以要么使用https://github.com/douglascrockford/JSON-js/blob/master/json2.js https://github.com/douglascrockford/JSON-js/blob/master/json2.js作为第 3 方库或使用http://api.jquery.com/serialize/ http://api.jquery.com/serialize/反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)