Javascript 在jQuery Ajax调用之后如何更新全局变量(关联数组)?
在jQuery Ajax调用之后如何更新全局变量(关联数组)Javascript 在jQuery Ajax调用之后如何更新全局变量(关联数组)?,javascript,jquery,ajax,Javascript,Jquery,Ajax,在jQuery Ajax调用之后如何更新全局变量(关联数组) var languageCode = {}; $.ajax({ url: 'languages/en.xml', success: function(xml) { $(xml).find('string').each(function() { languageCode[$(this).attr('name')] = $(this).text(); console.log(languageCode
var languageCode = {};
$.ajax({
url: 'languages/en.xml',
success: function(xml) {
$(xml).find('string').each(function() {
languageCode[$(this).attr('name')] = $(this).text();
console.log(languageCode.IDSA_HI_THERE); // This works
});
console.log(languageCode);
}
});
console.log(languageCode.IDSA_HI_THERE); // This doesn't work because this gets called before the ajax request. How to make this work?
在ajax调用中添加
async:false
选项$。ajax
是一个异步调用。所以,代码的最后一行永远不会像您所希望的那样工作。要使其工作,您唯一能做的就是修改ajax调用,通过在$.ajax
设置中引入async:false
选项来同步运行它,而不是异步运行。它正在工作。感谢ajax调用中的async:false选项。ajax是一个异步调用。所以,代码的最后一行永远不会像您所希望的那样工作。要使其工作,您唯一能做的就是修改ajax调用,通过在$.ajax
设置中引入async:false
选项来同步运行它,而不是异步运行。它正在工作。谢谢