JSON响应不起作用?

时间:2009-11-05 05:41:05

标签: json jquery

我是JSON / jQuery的新手,我正在尝试各种JSON-AJAX示例。不幸的是,我的简单代码似乎不起作用。

这是我在testjs.js中的JS / jQuery:

$(document).ready(function(){ 

$("#radio").click(function () { 

    $.getJSON("testphp.php", { testtest: 'blah' }, function(data){
    alert(data.response);
        });
    });
});

这是我在testphp.php中的PHP:

<?
        if(isset($_GET['testtest'])) {
        $arr = array('response'=>'error');
        echo json_encode($arr);
        }
 ?>

    <HTML>
    <HEAD></HEAD>
    <BODY>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script src="testjs.js"></script>
    <input id="radio" type="radio" name="group1" value="radio"> radio<br>
    </BODY>
    </HTML>

当我在我的浏览器中加载testphp.php时,在firebug中,我注意到在单击单选按钮后,该数组已正确返回为{“response”:“error”}。但是,警报根本没有出现......

我也尝试过这里解决的其他类似例子(例如这一个:How to get jSON response into variable from a jquery script),但这些正确的解决方案也不会对我产生警报。我一定是做错了什么......

非常感谢任何想法。谢谢!

1 个答案:

答案 0 :(得分:5)

你应该在json_encode之后放一个骰子,即

     if(isset($_GET['testtest'])) {
            $arr = array('response'=>'error');
            echo json_encode($arr);
            die();
            }

或者php也会输出html。