我有一个使用 jQuery 将表单数据发送到 php 的网页。我想解码数据数组并循环遍历它,使用 php print_r 显示四个值中的每一个。这是将数据发布到 php 的 jQuery 函数:<script type="text/javascript">function postData() { return $.ajax({ var datastring = $("#echo_test").serialize(); $.ajax({ type: "POST", url: "echo_test.php", data: {post: datastring}, });});}</script>这是 php 函数 echo_test:<?php$obj = json_decode($_POST['post']);print_r($obj['firstname']);?>我认为 json_decode 是错误的,因为发布的数据不是 json 格式。当我单击调用 jQuery 函数的按钮时,php 页面在浏览器中打开但它是空白的,没有任何回显。理想情况下,我会遍历 $obj 以在屏幕上显示四个值中的每一个。最终我会将数据发布到云服务器上的 Postgres。现在,我正在本地测试它以验证数据,因为我是从 jQuery 向 php 传递数据的新手。
3 回答
慕无忌1623718
TA贡献1744条经验 获得超4个赞
form.serialize() 以查询字符串格式发送数据。parse_str() 函数将查询字符串解析为变量。
<?php
parse_str($_POST['post'], $obj);
print_r($obj);
?>
ITMISS
TA贡献1871条经验 获得超8个赞
你需要做的是使用 parse_str,但正确的是:
<?php
parse_str($_POST['post'], $obj);
print_r($obj['firstname']);
?>
添加回答
举报
0/150
提交
取消