【问题标题】:Why ajax call does not work on IE7为什么ajax调用在IE7上不起作用
【发布时间】:2013-11-16 11:09:41
【问题描述】:

我正在为我工​​作的公司开发一个应用程序,但这个 ajax 调用仅适用于 IE9+、FF、Chrome。我一直在阅读,但运气不佳。 这是我的代码。非常简单:

var request_getShoppingCart = $.ajax({
    url:"classes/sCart.php?action=getItems",
    cache: false,

});
request_getShoppingCart.done(function(Data) {
    $('#shoppingCart').html(Data);
});

感谢任何帮助

【问题讨论】:

  • 可能是cache: false后面的逗号,IE一般不喜欢这些。
  • 尝试使用request_getShoppingCart.fail(function() {...}查看是否有ajax错误发生。
  • 了解 JSLint 或 JSHint

标签: javascript php jquery ajax internet-explorer


【解决方案1】:

IE 失败并显示 trailing comma

var request_getShoppingCart = $.ajax({
    url:"classes/sCart.php?action=getItems",
    cache: false //remove comma here

});
request_getShoppingCart.done(function(Data) {
    $('#shoppingCart').html(Data);
});


另请阅读

jQuery .ajax method in IE7 & IE6 not working but working fine in Firefox

Does Internet Explorer 9 choke on extra commas at the end of array and object literals?

【讨论】:

  • +1 自从不久前写了一大堆 jQuery 插件以来,这一直是我存在的祸根,我认为留下逗号是个好主意,所以我不必考虑如果我添加更多选项,请添加它。现在没那么聪明了!
  • 是的。它已在 IE8 及更高版本中修复。 IE8 没有数组修复(这与其说是他们在 ES5 中清理的规范中的灰色区域,不如说是一个修复),我认为 9 有。
  • 去掉逗号,加上一个fail方法。不会发生错误。我使用的是 1.10.1 版本,我应该回到早期版本吗?
  • @user1960170 正在发生什么以及应该发生什么?
  • 是的,IE9 有数组修复/更改。
猜你喜欢
  • 2021-10-11
  • 1970-01-01
  • 2012-02-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-14
相关资源
最近更新 更多