猿问

如何解码发布到 php 的 jQuery json 数据

我有一个使用 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 传递数据的新手。


噜噜哒
浏览 129回答 3
3回答

慕无忌1623718

form.serialize() 以查询字符串格式发送数据。parse_str() 函数将查询字符串解析为变量。<?phpparse_str($_POST['post'], $obj);print_r($obj);?>

ITMISS

你需要做的是使用 parse_str,但正确的是:<?phpparse_str($_POST['post'], $obj);print_r($obj['firstname']);?>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答