Как я могу вернуть обратный вызов из .fail() если возвращение DATATYPE не HTML?Как вернуть обратный вызов .fail(), если возвращаемый dataType не является html?
$.ajax({
type: "GET",
dataType: "html",
url: "server.php",
async: true,
beforeSend: function() {
},
success: function (returndata) {
console.log(returndata); // I will get {"message":"something"}
}
}).fail(function(jqXHR) { // this callback does not work
alert("error");
});
Например, в server.php
,
header('Content-Type: application/json');
echo '{"message":"something"}';
я получу {"message":"something"}
вместо error
;
любые идеи?
редактировать:
$.ajax({
type: "GET",
dataType: "xml",
url: "server.php",
async: true,
beforeSend: function() {
},
success: function (returndata) {
console.log(returndata); // I will get {"message":"something"}
}
}).fail(function(jqXHR) { // this callback does not work
alert("error");
});
, если я изменю dataType:
к «XML», он возвращает ошибку (что я хочу), когда ожидается XML - почему она не работает таким же образом для "html"?
установить заголовок на сервере для типа содержимого. Если вы извлекаете JSON, почему вы устанавливаете dataType как html в первую очередь? – charlietfl
спасибо, но мне нужно обработать его в jquery для того, что возвращается с сервера ... – laukok
вам нужно установить что-то правильно, либо заголовок сервера, либо dataType. Если ваши ожидания не будут работать. Я не вижу, как вы будете делать запросы и не знаете тип данных, который будет ожидаться взамен, иначе как бы вы обрабатывали ответы? – charlietfl