Javascript 在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

在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.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
选项来同步运行它,而不是异步运行。它正在工作。谢谢