0

我刚刚开始学习 JSON,其他站点的教程使用此代码(我已经对其进行了修改以简化此代码):

$(document).ready(function(){
    $('#getdata-button').click(function(){
        $.ajax({
            type: "GET",
            url: "json-data.php",
            dataType: "json",
            success: function(){
                alert('a');
                $('#showdata').html(
                    "<p>item1="+data.item1+
                    " item2="+data.item2+
                    " item3="+data.item3+"</p>"
                );
            }
        });
    });
});

这是 json-data.php 的代码

<?php
    $item1 = "candy";
    $item2 = "chocolate";
    $item3 = "ice cream";

    //return in JSON format
    echo "{";
    echo "item1: ", json_encode($item1), "\n";
    echo "item2: ", json_encode($item2), "\n";
    echo "item3: ", json_encode($item3), "\n";
    echo "}";
?>

问题是警报功能(用于调试目的)在我单击按钮(ID 为“getdata-button”)后没有响应。Firebug 说请求成功,我可以从那里看到数据。没有发现错误。只是回调函数没有执行,但为什么呢?

4

1 回答 1

2

您需要正确输出 JSON。用下面的替换你的PHP

$items = array(
    'item1' => $item1,
    'item2' => $item2,
    'item3' => $item3
);
header('Content-type: application/json');
echo json_encode($items);
于 2013-05-03T15:45:54.853 回答