【发布时间】:2015-01-15 14:42:11
【问题描述】:
我正在编写一个 ajax Web 应用程序,但是无论出于何种原因,当我对 Internet Explorer 9 (IE9) 中的内部数据服务执行 GET 时,它都不起作用。同样的调用在 Chrome、Firefox 和 Safari 中运行良好。我正在使用 localhost Web 服务器 (wamp) 进行开发,并在与我尝试访问的数据服务相同的网络上进行开发。我正在使用 Jquery 1.8.1(我已经返回了几个版本,但仍然看到问题)。我的代码如下所示:
$(document).ready(function() {
var loginUrl = "http://omittedurl.com";
console.log(loginUrl);
$.ajax({
type : "GET",
url : loginUrl,
dataType : "json",
success : function(response) {
console.log("RESPONSE: " + response);
}
});
});
正如我之前所说,这段代码在 Chrome 和 Firefox 上运行良好。在 IE9 中,当我查看 Web 调试器时,日志中没有错误。就像 IE9 完全忽略了 .ajax 块。我尝试过的事情:
- 关闭 Ajax 缓存
- URL 编码了我的请求 URL
- 回到三个旧版本的 Jquery
- 从 IE9 手动 ping 我的 URL(能够得到响应)
有什么想法吗??
【问题讨论】:
-
这是跨域请求吗?
-
在使用最新的 jQuery 版本 1.8.2 时仍然会这样做吗?
-
在 IE 中按 F12,然后转到“网络”选项卡。加载页面并查看请求在做什么。
-
@GungFoo:我认为跨域应该会在所有浏览器中引起问题
-
您是否在打开控制台的情况下对其进行测试? IE 和 console.log 无法相处,除非控制台打开,因此要么注释掉 console.log 行,要么确保开发工具保持打开状态。