1

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);

そして、応答は null または何もありません。

誰かがここで何が悪いのか助けてください。

ありがとうございました

4

5 に答える 5

4

あなたが欲しい$_POST['data']、ではなく$_POST['jsonParam']

于 2012-08-23T01:21:05.610 に答える
3

jsonParamはJavaScript変数でしたが、$_POST['data']に渡したのと同じようにPHPに投稿さ{data: jsonParam}れました$.post

// Instead:
$data = json_decode($_POST['data'], TRUE);
var_dump($data);
于 2012-08-23T01:20:53.520 に答える
2

{jsonParam: jsonParam,}それ以外の{data: jsonParam,}

于 2012-08-23T01:23:11.567 に答える
1

次のことを試してください。

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);

経度と緯度のフィールドがフロートとして正しく解析されていないようです。

于 2012-08-23T01:37:26.387 に答える
1

$data = json_decode($_POST['jsonParam'], true);する必要があります$data = json_decode($_POST['data'], true);

于 2012-08-23T01:21:57.433 に答える