IE中的“'null'为空或不是对象”错误

时间:2010-09-19 04:33:19

标签: javascript jquery internet-explorer

现在我从IE中得到这个奇怪的错误,基本上是

'null' is null or not an object

它给出的行号是完全关闭的,所以我没有多少信任,但我想我把它缩小到它的来源。

function openSong(songlink){
     $('#smallbox').slideDown();
     requestCompleteSong('<tr><td>'+songlink+'</td></tr>');
  }

上面的代码不会从IE中产生任何错误,但是当我使用jQuery执行AJAX GET请求时,它似乎会抛出此错误

function openSong(songlink){
     $('#smallbox').slideDown();
     $.get("getSong.php?fake="+makeid(),{ id: songlink },requestCompleteSong);
  }

'songlink'绝对不是null,因为我发布的第一个函数运行正常。这是makeid()。

function makeid()
{
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

  for( var i=0; i < 5; i++ )
    text += possible.charAt(Math.floor(Math.random() * possible.length));

  return text;
}

有人能看出为什么IE会抛出这个错误吗?

1 个答案:

答案 0 :(得分:4)

这确实是最常见的Internet Explorer JavaScript错误之一。这意味着您正在调用某些对象的方法,该方法为null。虽然我无法分辨您的代码的哪一部分导致此错误,但我可以建议找到它的方法。您可以使用开发人员工具来调试代码 - 只需在代码中添加debugger语句:

function openSong(songlink){
 debugger;
 // rest of the code
}

然后从IE开发人员工具栏启用调试并刷新页面。