如何调用取决于先前加载的XML文件的函数



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

  • init ('/path/to/xmlfile')
  • test (QUATT)

主要问题是测试方法取决于加载到工作的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!');
       }
   });

并将我的回调放入 Success get jQuery方法的回调...。但是,我可能会做类似的事情吗?

我感谢任何帮助。

注意:我尝试了"加载"变量。内部 test 函数和setInterval功能以检查XML文件是否已加载,但对我不起作用。

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

最新更新