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

abithluo  于 2023-03-01  发布在  jQuery
关注(0)|答案(1)|浏览(121)

我正在创建一个简单的类,有2个方法:

      • 初始化**('/路径/到/xml文件')
      • 测试**(材料)

主要的问题是测试方法依赖于加载的XML文件才能工作.所以,当我这样做的时候:

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

它失败的原因是test使用了加载XML文件时生成的结构。
因为我使用jQuery加载XML文件,使用get方法,我可以这样做一些事情:

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

并将我的回调放在getjQuery方法的success回调中....但是,是否可以执行类似我上面提到的操作?
我会很感激任何帮助。

    • 注意**:我尝试在test函数中使用变量"loaded",并使用setInterval函数检查XML文件是否已加载,但不起作用。
cwdobuhd

cwdobuhd1#

您应该使用回调来防止阻塞,但是如果您真的希望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/

相关问题