我有一个jquery代码,我在其中使用get()并调用一些远程url /文件.现在我想知道从这里处理错误的最佳方法是什么.
我在做的是:
$(document).ready(function() {
$.ajaxSetup({
error: function(x, e) {
if (x.status == 0) {
alert(' Check Your Network.');
}
else if (x.status == 404) {
alert('Requested URL not found.');
} else if (x.status == 500) {
alert('Internel Server Error.');
} else {
alert('Unknow Error.\n' + x.responseText);
}
}
});
$.get("HTMLPage.htm", function(data) {
alert(data);
$('#mydiv').html(data);
});
});
Run Code Online (Sandbox Code Playgroud)
这工作正常.但是想知道有没有更好的方法呢?
Alp*_*key 17
对所有ajax调用使用$ .ajaxSetup是全局的.因为$ .get函数没有任何错误回调,所以在$ .ajaxSetup中定义错误处理程序是处理错误的唯一方法.如果使用$ .ajax,则可以像这样在$ .ajax调用中定义错误处理程序
$.ajax({
url: "HTMLPage.htm",
success: function(data) {
alert(data);
$('#mydiv').html(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
if (XMLHttpRequest.status == 0) {
alert(' Check Your Network.');
} else if (XMLHttpRequest.status == 404) {
alert('Requested URL not found.');
} else if (XMLHttpRequest.status == 500) {
alert('Internel Server Error.');
} else {
alert('Unknow Error.\n' + XMLHttpRequest.responseText);
}
}
});
Run Code Online (Sandbox Code Playgroud)
这仅适用于此ajax调用,这样您就可以获得更具体的错误消息.但是使用全局错误处理程序也可以.
你可以在$(document).ready()之外定义你的函数
$(document).ready(function() {
$.ajaxSetup({
error: AjaxError
});
$.get("HTMLPage.htm", GetSuccess);
});
function AjaxError(x, e) {
if (x.status == 0) {
alert(' Check Your Network.');
} else if (x.status == 404) {
alert('Requested URL not found.');
} else if (x.status == 500) {
alert('Internel Server Error.');
} else {
alert('Unknow Error.\n' + x.responseText);
}
}
function GetSuccess(data) {
alert(data);
$('#mydiv').html(data);
}
Run Code Online (Sandbox Code Playgroud)
从jQuery 1.5开始,所有jQuery的Ajax方法都返回XMLHTTPRequest对象的超集。$ .get()返回的此jQuery XHR对象或“ jqXHR”实现Promise接口,为其提供Promise的所有属性,方法和行为。
var jqxhr = $.get( "example.php", function() {
alert( "success" );
})
.done(function() {
alert( "second success" );
})
.fail(function() {
alert( "error" );
})
.always(function() {
alert( "finished" );
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18424 次 |
| 最近记录: |