这是我脚本的一部分,它先打印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更宽容,并且忽略了小错误。

07-28 03:26
查看更多