我想通過爲每種語言創建一個xml文件來本地化我的字符串,然後使用ajax得到像這樣。Jquery ajax奇怪的錯誤
var text = new Object();
$.ajax({
async: false,
type: 'GET',
url: 'english.xml',
dataType: "xml",
error: function(xhr, status, error) {
console.log("Lets see the error...");
console.log(xhr.responseText);
},
success: function(xml){
$(xml).find('text').each(function(){
text[$(this).attr('id')] = $(this).text();
});
}
});
console.log("Lets see the object...");
console.log(text);
我添加了一些console.logs來排除故障。 這是控制檯的屏幕截圖。
因此,你看到由於某種原因,請求失敗..任何想法爲什麼?
english.xml只包含:
<text id="call">Caller</text>
<text id="chat">Chatter</text>
更新: 更改數據類型爲文本,現在越來越成功響應,但「文本」對象沒有被更新?
var text = new Object();
$.ajax({
type: 'GET',
url: 'english.xml',
dataType: "text",
error: function(xhr, status, error) {
console.log(xhr);
console.log(xhr.responseText);
console.log(status);
console.log(error);
},
success: function(xml){
$(xml).find('text').each(function(){
text[$(this).attr('id')] = $(this).text();
});
console.log(xml);
console.log(text);
}
});
在'success'回調中移動'console.log'調用。目前,它在異步調用返回之前運行。 – 2012-07-23 13:20:10
在同一目錄中是英文版的。也可以嘗試在xml的頂部添加<?xml version =「1.0」?> – 2012-07-23 13:21:24
@JamesAllardice無關緊要,從第一個打印語句中可以清楚地看到它在錯誤callaback中被調用。 – 2012-07-23 13:21:54