0

私のPHPバージョンは5.2.17で、json_decode($_GET['getItem'])nullの結果を返すと!!

function getItem(id){
$.getJSON(
    "items.php", 
    { getItem: '{"item": "' + id + '"}'},   
    function(json) {
        $("#"+json.itemName).html(json.itemData);
        }
);

items.php

header('Content-Type: application/json');
$jItemArray = json_decode($_GET['getItem']);
var_dump($jItemArray);
die;
4

3 に答える 3

2

パラメータはURIエンコードされると思います。の値を出力して、$_GET['getItem']それが何であるかを確認します。urldecode実行する前に、最初に実行する必要があると思いますjson_decode

そうは言っても...標準のパラメーターエンコーディングの代わりにjsonを送信する理由はありますか?

于 2012-06-04T11:35:54.973 に答える
1

ええ、問題はそこ に ありました。$_GET['getItem']データがそのように正しくないことがわかりました。
array(1) { ["getItem"]=> string(18) "{\"item\": \"35\"}" }
magic quotesphp.ini

magic_quotes_gpc = Off
指摘してくれてありがとう

于 2012-06-04T11:56:45.550 に答える
-3

あなたのphpは次のようになります。

header('Content-Type: application/json');
echo json_encode($_GET['getItem']);
于 2012-06-04T11:33:15.130 に答える