[英]Decode JSON with PHP
有人可以告诉我为什么这种带有JqUERY的简单JSON对我不起作用吗?
我有这个JS代码,
var jsonParam = <? $json = $_SESSION['searchSess']; echo json_encode($json);?>;
jsonParam = JSON.stringify(jsonParam);
$(document).ready(function(){
$.post("searching.php?rdr=search", {data: jsonParam,}, function (data){
alert(data)
})
});
这是PHP代码,
$data = json_decode($_POST['jsonParam'], true);
var_dump($data);
响应为空或无,
可以请人帮忙这里有什么问题吗?
谢谢
您需要$_POST['data']
,而不是$_POST['jsonParam']
。
jsonParam
是JavaScript变量,但是由于您将{data: jsonParam}
传递到$.post
,因此它以$_POST['data']
发布到PHP。
// Instead:
$data = json_decode($_POST['data'], TRUE);
var_dump($data);
{jsonParam: jsonParam,}
代替{data: jsonParam,}
$data = json_decode($_POST['jsonParam'], true);
应该是$data = json_decode($_POST['data'], true);
请尝试以下操作:
JS:
var jsonParam = <?
$json = $_SESSION['searchSess'];
$json['longitude'] = (string) $json['longitude'];
$json['latitude'] = (string) $json['latitude'];
echo json_encode($json);
?>
$(document).ready(function(){
$.post("searching.php?rdr=search", {data: jsonParam }, function (data){
alert(data)
})
});
PHP:
$data = json_decode($_POST['data'], true);
var_dump($data);
我怀疑您的经度和纬度字段未正确解析为浮点数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.