如何解决异步JavaScript不会让我的函数返回吗?
| 这可能是一个非常简单且新手的问题,而且我甚至不确定异步调用是否应归咎于此。但不管怎么说... 我正在使用jQuery及其函数在.php文件中添加外部脚本。 首先,让我们看一下我的外部js。 (test.js):function testFunc () {
alert(\'It works!\');
}
然后,我的.php文件带有以下脚本:
<script>
$.getScript(\'supervisor/cache/test.js\');
$(document).ready(function() {
testFunc();
});
</script>
使用此方法,不会调用testFunc();
。我尝试在调用之前插入return
,将其放置在ready
函数的外部,将ѭ5putting放置在ready
函数的内部。好吧,我不知道还能尝试什么。
另外,如果我在按钮中使用onClick
调用相同的功能,它将起作用。
这就是为什么我认为问题可能出在jQuery的异步调用上,即在真正添加脚本之前执行我的函数。但是谁知道呢?有人遇到过同样的问题吗?
解决方法
一旦AJAX脚本执行完毕,您应该调用该函数,这可能比文档准备事件晚得多:
$.getScript(\'supervisor/cache/test.js\',function() {
testFunc();
});
,由于您正在异步获取脚本,因此在加载test.js之前,文档可能已准备就绪。改为这样做:
$.getScript(\'supervisor/cache/test.js\',function(){
testFunc();
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。