未定义变量的问题

时间:2010-12-24 05:15:18

标签: javascript jquery function variables

我正试图这样做:

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()删除content时,createMap(content);工作正常,并为loadApp()提供了字符串值。似乎createMap()getContent()之前运行,这就是为什么变量尚未定义,为什么会发生这种情况以及如何解决呢?

提前致谢。

1 个答案:

答案 0 :(得分:2)

我假设getContent()进行异步AJAX调用。如果是这样,{<1}}函数在收到响应之前被称为

如果是这种情况,我会修改createMap()函数,以便您可以将getContent()函数传递给它,并在适当的时候调用它。

createMap()