有一个页面内容,是用 ajax 异步返回内容:
<head> <script src="js/vendor.js"></script> </head> <body> <div id='demo'>demo</div> $.ajax({ url: '/url', data: data, type: 'GET', success:function(response_view){ document.querySelector("#demo").innerHTML=response_view; } }); </body>
由于 response_view 是异步加载的,vendor.js 不能处理 response_view 里的内容。
请教问题:想要让 ajax 加载完 response_view 的内容之后,再执行 vendor.js 的内容,要怎么实现呢?
![]() | 1 cydian 2020-04-24 00:14:52 +08:00 via Android vendor 后置,ajax 同步。 或者 ajax 完成后插入 vendor |
![]() | 2 lisisi OP @cydian 帖子里有个问题可能没描述清楚:$.ajax() 部分是由用户 onclick() 触发的,所以把把 <script src="js/vendor.js"></script> 放在页底部分,也没有用。 |
3 raindropsaber 2020-04-24 00:36:38 +08:00 via iPhone ajax 回调里操作 dom 创建 script 标签。 |
![]() | 5 autoxbc 2020-04-24 01:55:49 +08:00 vendor.js 里监听 DOM 突变事件 |
![]() | 6 huijiewei 2020-04-24 02:28:08 +08:00 用事件委托 把事件绑定到 response_view 的上级 DOM 就好了 |
7 ccraohng 2020-04-24 07:27:44 +08:00 via Android vendor 暴露出执行方法 |
![]() | 8 onfuns 2020-04-24 09:04:03 +08:00 写自定义事件 customEvent 啊,ajax 请求完成后触发事件。或者封装个发布订阅的类,都是一样的模式。 |
9 azcvcza 2020-04-24 10:42:30 +08:00 可以写个事件订阅,请求成功后就派发,然后在 vendor.js 里监听事件,查看 nodejs 的 eventEmitter |