【发布时间】: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