我正在用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/