jQuery:'async:false'不使用IE7 / IE6

时间:2011-01-11 19:48:05

标签: jquery asynchronous internet-explorer-7 internet-explorer-6

我创建了一个简单的跟踪脚本,在卸载页面时将用户信息添加到数据库中。它适用于除IE7和IE6之外的所有浏览器。

IE7给了我错误,但我无法打开“调试器”,因为我使用的是独立版本(或者至少我认为问题是这样)。我从下面的脚本中删除了async: false,并且没有收到任何错误,但我需要将async设置为false才能使脚本正常工作。有什么想法吗?

$(window).unload(function() {
  $.ajax({
    type: "POST",
    async: false,
    url: "add.php",
    data: "ip=" + jIp + "&date=" + jDate + "&time=" + jTime,
  });
});

2 个答案:

答案 0 :(得分:4)

您的代码包含以下行:

data: "ip=" + jIp + "&date=" + jDate + "&time=" + jTime,

此代码在IE6 / 7中被破坏,因为对象文字的属性列表中有一个尾随逗号。这可以说是合法的Javascript,但却是IE特定错误无法消除的根源。删除最后一个逗号,您的通话将有效。

答案 1 :(得分:1)

这一行末尾的逗号,或者只是帖子中的拼写错误?

  

数据:“ip =”+ jIp +“& date =”+ jDate +   “& time =”+ jTime,