【问题标题】:Ajax doesn't work in Internet ExplorerAjax 在 Internet Explorer 中不起作用
【发布时间】:2011-08-09 15:52:31
【问题描述】:

所以我有一个非常简单的$.post 函数,它可以在所有普通浏览器中完美运行。但在 IE 中(我测试了 7 和 8)它就不会发生。

console.log('1');

$.post('home.php', {'a':'b'}, function(data){

    console.log('2');

});

当我在 FireFox 中运行它时,我的 Firebug 控制台显示 1,然后是 2。
Internet Explorer 没有超过 1。由于没有 @,我在它认为它是跨浏览器之前遇到了问题987654323@ 但事实并非如此。

我看不出哪里出了问题。

input 更改为{ a:'b' } 也不起作用,因此它不能是变量(你会认为)。

编辑:简化为更简单的不工作版本

编辑:

当我更改它时,变量似乎出了点问题:

$.post('home.php', {'a':'b'}, function(data){

$.post('home.php', function(data){

它有效..

【问题讨论】:

  • 不确定,但string 可能是 IE 中的保留字。也许尝试将其更改为其他内容?另外,大声笑@the normal browsers。我感觉到你的痛苦。
  • 这听起来应该完全是问题所在,但是在每个变量前面加上 abc 时它仍然不起作用:/
  • 使用 Fiddler、Wireshark 等查看网络级别发生的情况。可能存在阻止正确处理响应的服务器端错误?
  • 嗯,我对这些程序没有经验,但我明天会试试看。我以为会有一个非常简单的解决方案,我会在几分钟后下班:(
  • 为了解决问题,我会切换 $.ajax 函数,这样您就可以同时使用成功、错误和 beforeSend 回调函数。您可以登录其中的每一个以查看它们是否被击中。你回答了吗...你看到服务器上的 ajax 帖子了吗?

标签: jquery ajax internet-explorer post


【解决方案1】:

你有在 IE 中可见的调试控制台吗?如果控制台不可见,console.log() 将阻止脚本的其余部分在 IE 上运行。

【讨论】:

  • 是的,我打开它,看到12 同时出现,然后什么也没有。
  • +1,考虑到这个脚本应该可以帮助解决这个问题 » benalman.com/projects/javascript-debug-console-log
  • 另外,如果这是真的,我也不会看到第二个 console.log() 吗?
  • @Kokos:如果您自己发现了解决方案或变通方法,您应该将其作为答案发布并接受。
  • 我没有,我不知道他们在哪里发生了碰撞,问题结果与我最初发布的完全不同。我想删除问题,但我不能。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 2012-10-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-07
  • 2015-03-16
相关资源
最近更新 更多