我正在使用 jQuery 1.4.2 并尝试执行一个简单的 AJAX 请求。目标 URL 返回一个 JSON 字符串(我使用 jslint 对其进行了验证)。该请求适用于 Firefox 和 Chrome,但不想在 IE8 中运行,我无法确定原因。这是电话:
jQuery.ajax({
url: 'http://' + domain + '/' + 'helper/echo/',
dataType: 'json',
success: function(data) {
alert(data);
},
beforeSend: function(request, settings) {
alert('Beginning ' + settings.dataType + ' request: ' + settings.url);
},
complete: function(request, status) {
alert('Request complete: ' + status);
},
error: function(request, status, error) {
alert(error);
}
});
IE 将执行 beforeSend 回调和错误回调。错误回调警告消息:
Error: This method cannot be called until the open method has been called.
我的响应标头返回Content-Type: text/javascript; charset=UTF-8
.
IE是怎么回事?我在 localhost 上运行服务器,从http://localhost:8080/psx向http://localhost:8080/helper发出请求。也许 IE 阻止了这个请求?我尝试安装 Fiddler 来分析请求流量,但它无法在我的机器上运行,因为它被锁定了。Firebug 让我,但那里的一切似乎都很好。
谢谢您的帮助!!!