这是我脚本的一部分,它先打印9然后98,但不能打印2,这表明未调用jQuery中的回调函数。但是在此之前,我使用json_decode函数打印从php文件返回的json,并且json打印得很好。我该如何调试它,我的意思是错误可能在哪里?
$(document).ready( function() {
alert(9);
$('#charac').keyup( function() {
alert(98);
$.getJSON('myprg.php?q='+escape($('#charac').val()), function(data) {
alert(2);
最佳答案
使用$.ajax
函数而不是getJSON
并使用错误回调来查看发生了什么。
$.ajax({
url: url,
dataType: 'json',
data: data,
success: callback
error: callback(jqXHR, textStatus, errorThrown)
});
使用Firebug或Chrome开发人员工具检查实际服务器响应并使用JSONLint验证JSON也很有用,某些JSON库比其他JSON更宽容,并且忽略了小错误。