這是一個簡單的函數,我用它從XML文檔中檢索文本。它在每個瀏覽器中都能夠完美運行,但它經常(並非總是)在iPad上的Safari上失敗。
當出現故障時,它返回一個412
狀態碼與消息
未能加載資源:服務器用的412狀態響應(前提條件失敗)。
當我在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頭 你可以停在jQuery的AJAX調用不使用數據類型和解碼XML在JavaScript端 – chings228