我是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),但这些正确的解决方案也不会对我产生警报。我一定是做错了什么......
非常感谢任何想法。谢谢!
答案 0 :(得分:5)
你应该在json_encode之后放一个骰子,即
if(isset($_GET['testtest'])) {
$arr = array('response'=>'error');
echo json_encode($arr);
die();
}
或者php也会输出html。