Это простая функция, которую я использую для извлечения текста из XML-документа. Он работает безупречно в каждом браузере, но часто (не всегда) не работает Safari на iPad.
Когда это не удается, он возвращает код состояния 412
с сообщением
Не удалось загрузить ресурс: сервер ответил со статусом 412 (Precondition Failed).
Когда я тестирую iPad, я нахожусь в беспроводной сети, в то время как мое другое тестирование выполняется через проводное соединение. Я тоже попробовал это на своем телефоне, и у меня не было никаких проблем. Тот факт, что ошибка возникает только иногда, заставляет меня задаться вопросом, связано ли это с каким-то гоночным состоянием или сроком, но я здесь полностью проигрываю.
function getText(page, ID){
if(languageText == null){
url = directory + "/text/" + language + "/text.xml";
$.ajax({
url: url,
type: "post",
dataType: "xml",
async: false,
success: function(data, status, jqXHR){
console.log(data);
languageText = $(data);
}, error: function(jqXHR, textStatus, errorThrown){
console.log(errorThrown);
console.log(jqXHR);
}
});
}
var selector = "page[id='" + page + "'] text[id='" + ID + "']";
result = languageText.find(selector).text();
return result;
}
исходный файл не может включать в себя XML-заголовок вы можете остановить не использовать DATATYPE в Jquery Ajax вызова и декодирования XML в стороне яваскрипта – chings228