Ответ 1
Использование $.ajaxSetup является глобальным для всех вызовов ajax. Поскольку функция $.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);
}
}
});
Это относится только к этому вызову 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);
}