jquery使用Ajax通过post方式传递json字符串 PHP无法转换为数组的解决办法
匿名 · 更新于 2015/2/3
因为在json字符串传递到服务器端的时候,单引号或者双引号会被自动转义为html实体,所以需要用PHP函数htmlspecialchars_decode将HTML实体还原为单双引号,下面是例子
客户端代码
<input type="button" value="确认测试" onClick="test()" />
<script type="text/javascript">
function test(){
$.post("test.php",{msg:"{'type':0,'phone':18888888888}",'t':Math.random()},function(data){
alert(data.msg);
})
}
</script>
服务器端代码
$arr = json_decode(htmlspecialchars_decode($_POST['msg'])),true); var_dump($arr)
