javascript - 如何在 JQuery 中序列化 JSON 对象

标签 javascript jquery

我无法序列化 JSON 对象“数据”,如下所示。

<script type="text/javascript">

var myObj = {'first_name':{'answers':{'0':'John'}}};
var postdata = {'data':myObj};
$.post("get_note.php", postdata, function(data){
    $('#note').text(data);
});

</script>

以下是文件 get_note.php 中的代码:

<?php

print_r($_POST['data']);
?>

这会导致以下内容被打印到#note 元素。

Array ( [first_name] => ) 

数组似乎为空。我期望 PHP 文件中有一个多维数组。为什么是空的?

最佳答案

在客户端,您可以通过对纯 JavaScript 执行 JSON.stringify() 进行序列化。在服务器上,您需要对字符串执行 php json_decode()

所以在客户端:

var postdata = {'data':JSON.stringify(myObj)};

在服务器上:

$myObj = json_decode(htmlspecialchars_decode($_POST['data']),true);

引用文献:

js JSON.stringify(): http://www.json.org/js.html

php json_decode(): http://php.net/manual/en/function.json-decode.php

关于javascript - 如何在 JQuery 中序列化 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10132152/

相关文章:

javascript - 将 jQuery $(this) 与 ES6 箭头函数一起使用(词法 this 绑定(bind))

javascript - 轮播缩略图仍然不会自动更新

jQuery 地址插件 - 如何在 $.address.change() 中单击链接

javascript - jQuery 文件树 - 检测何时单击文件夹

javascript - 如果满足条件,则从 Controller 返回 JsonResult 中的模式确认框

php - jQuery 在 javascript 中序列化

Javascript - 选择 ID 时遇到问题

javascript - 使用 jQuery 同时设置两个下拉列表的选定值

javascript - 我的重力模拟排斥第一和第三象限中的物体

javascript - 这个 header : header links referral to a different url? 有什么问题