我正在使用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);
}
});
Run Code Online (Sandbox Code Playgroud)
IE将执行beforeSend回调和错误回调.错误回调警告消息:
Error: This method cannot be called until the open method has been called.
Run Code Online (Sandbox Code Playgroud)
我的响应标头返回Content-Type: text/javascript; charset=UTF-8.
IE发生了什么事?我在localhost上运行服务器,从http:// localhost:8080/psx发出请求到http:// localhost:8080/helper.也许IE阻止了这个请求?我已经尝试安装Fiddler来分析请求流量,但它不会在我的机器上运行,因为它被锁定了.Firebug让我,但一切似乎都很好.
谢谢您的帮助!!!
我有Chrome 7.0,我正在尝试访问全局对象的字段.代码在Firefox和IE中完美运行,但Chrome的调试器无法帮助我实现任何目标.我试过Safari,它也遇到了麻烦.
我可以获得计时器的值,但是当我通过控制台访问状态时,我得到了"[object Object]". status.completedJobs返回undefined即使在status = $.parseJSON(msg.d);(JSON字符串是有效的).
我不确定在此之后该怎么做.$.parseJSON(msg.d);从控制台调用工作,我可以使用调试器查看对象的字段.如何正确分配和全局访问状态对象?
这是我的代码:
//Object that holds result of AJAX request
var status = new Object();
//Refresh timer variables
var timer;
var timer_is_on = 0;
$(document).ready(function() {
update();
doTimer();
});
/**
* Performs the AJAX request and updates the page
*/
function update() {
$.ajax({
type: "POST",
url: "Default.aspx/getStatus",
data: "{}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
if (msg) {
try {
status = …Run Code Online (Sandbox Code Playgroud)