$ .ajax回调函数无法正常工作

时间:2013-05-03 15:39:03

标签: php jquery ajax json

我刚刚开始学习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说请求成功,我可以从那里看到数据。没有发现错误。只是回调函数没有执行,但为什么?

1 个答案:

答案 0 :(得分:2)

您需要正确输出JSON。用下面的

替换你的PHP
$items = array(
    'item1' => $item1,
    'item2' => $item2,
    'item3' => $item3
);
header('Content-type: application/json');
echo json_encode($items);