Я работаю над инструментом, который позволяет пользователю вводить некоторые идентификаторы и проверять, существуют ли эти идентификаторы в базе данных.Разрешить выполнение кода после получения ошибки 404 при использовании REST
Код был написан для работы с базой данных SOLR, поэтому, если идентификатор не существует, проблем не было. Теперь, хотя я разговариваю с CouchDB, поэтому, если идентификатор не существует, инструмент не даст результата и приведет к ошибке 404: 404 (Object Not Found).
Вот мой код:
// ...
function caller() {
if (validIDs.length === 0) {
promise.resolve();
return;
}
var ID = validIDs.pop();
var url = preURL + ID;
var wrappedResult = {
"ID": ID,
"data": undefined
};
$.getJSON(url).done(function(data) {
wrappedResult["data"] = data;
caller();
});
wrappedResults.push(wrappedResult);
}
caller();
return [promise, wrappedResults];
}
Я пытался использовать что-то вроде:
$.getJSON({
url: url,
dataType: "json",
success: function(data) {
wrappedResult["data"] = data;
myForEach();
alert('success');
},
error: function(data) {
alert('error');
},
complete: function(xhr, data) {
if (xhr.status !== 0)
alert('success');
else
alert('fail');
}
});
Но это не сработало. html не отображает таблицу, а в консоли: 404 (объект не найден)
Я рассмотрел решение, предложенное в другом аналогичном вопросе, но они не решили мою проблему.
Пожалуйста, есть способ, которым мой код может продолжать показывать результаты принятых идентификаторов и указывать неверные данные?
Что вы подразумеваете под словом "it does not work"? Вы получили сообщение об ошибке? Что-нибудь в консоли? – whipdancer
да консоль показывает URL-адрес и пишет: 404 (Object Not Found). –
Возможный дубликат [jQuery Ajax 404 Handling] (http://stackoverflow.com/questions/4281274/jquery-ajax-404-handling) – whipdancer