我试图运行这个命令:问题与未定义的变量
function loadApp() {
var content = getContent("content.xml");
createMap(content);
}
function getContent(file) {
$.ajax({
type: "GET",
url: file,
dataType: "xml",
success: parseXml
});
function parseXml(xml) {
var content = [];
$("element", xml).each(function() {
var var1 = $(this).children("var1").text(),
content.push(var1)
});
return content;
}
}
function createMap(content) {
alert(content);
}
但是,当我打开网页提醒说我的content
变量是不确定的。 getContent()
正常工作,当我从loadApp()
删除createMap(content);
时给出content
一个字符串值。看起来createMap()
在getContent()
之前运行,这就是为什么该变量还没有定义,为什么会发生这种情况的任何想法,我该如何解决它?
在此先感谢。
也许你应该向我们展示getContent()方法。也许它有一个回调。 – Raghuram 2010-12-24 05:23:53
我想你的'getContent'函数执行异步操作(如Ajax请求)... – CMS 2010-12-24 05:23:55
是的,它是一个Ajax请求 – VerizonW 2010-12-24 05:31:36