如何调用依赖于先前加载的xml文件的函数?

时间:2012-12-27 12:50:28

标签: javascript javascript-events

我正在使用两种方法创建一个简单的类:

  • 初始化( '/路径/到/ XMLFILE')
  • 测试(东西)

主要问题是测试方法取决于加载的xml文件 ... 所以,当我做这样的事情时:

f.init('/sources/model.xml');
f.test(it);

失败,因为测试使用加载xml文件时生成的结构。

由于我使用Jquery加载xml文件,使用 get 方法,我可以做一些事情 这样:

f.init('/sources/model.xml',
    function() {
       if (this.test(it) ) {
            alert('OK, it works!');
        }else {
            alert('Wrong!');
       }
   });

并将我的回调放入获取 Jquery方法的成功回调中.... 但是,有可能做我上面提到的那些???

我将不胜感激。

注意: 我尝试在测试函数中使用变量“loaded”,并使用 setInterval 函数来检查xml文件是否已加载,但它对我不起作用。

1 个答案:

答案 0 :(得分:0)

你应该使用回调来防止阻塞,但是如果你真的希望在收到响应之前有init功能块,你可以选择使用$ .ajax方法而不是$ .get

$ .ajax支持async选项,如果设置为false将阻止脚本执行,直到服务器响应

基本用法:

$.ajax({
    url: "/path/to/file"
    type: "GET",
    async: false,
    success: function(data) {
        // do something
    }
});

文档, http://api.jquery.com/jQuery.ajax/