[英]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.