【发布时间】:2015-12-24 08:32:38
【问题描述】:
我遇到了一个问题,我需要 AJAX 加载一些脚本,并且只有在脚本都被加载和解析/执行后,回调函数才应该触发。
似乎 ajax 请求会在脚本下载后立即触发回调,但不一定在脚本执行时触发。除了使用超时等来解决问题之外,还有其他方法吗?
$.ajax({
dataType: 'script',
cache: false,
async: false,
url: 'http://example.com/script1.js'
}).success(function () {
// I need this callback to fire only once the script has been executed
});
【问题讨论】:
-
你可以在
script1.js之外声明一个全局变量myGlobalVar = 0,然后你的script1.js将它的值修改为1。然后在你的.success回调中你可以放一个while ( myGlobalVar == 0 ).. ..直到它是1
标签: javascript jquery ajax