ajax请求返回后JS无法执行的问题

一:发送ajax请求,在onComplete时,如果返回的html时包含有javascript,则这些javascrip并不会被认到,也并不不执行。这个问题困扰了我很长时间,后面再发个时间把这个知识点总结一下及如何来解决这个问题。

1.发现对于ajax的理解还是不够深,抽些时间看看书,看看资料,好好地研究下。

2.发现对于protype的理解还是不够深,抽些时间看看书,看看资料,好好地研究下。

3.写个例子跑下到底为什么什么情况下不会执行。

二:查的相关的资料:

1.网上有篇文章“让插入到 innerHTML 中的 script 跑起来”(http://www.coolcode.cn/show-117-1.html)有说种解决方法,但是总感觉这个速度是否有问题。

2.另:

事实上,prototype(v1.4.x)在 "Ajax.Updater" 类中也提供了类似思路的实现,不过代码更为简洁精妙: 
update: function(element, html) { 
   $(element).innerHTML = html.stripScripts(); 
   setTimeout(function() {html.evalScripts()}, 10); 
 } 
 ...... 
 evalScripts: function() { 
   return this.extractScripts().map(eval); 
 } 
这两个函数很清楚的说明了执行innerHTML中的脚本的处理逻辑。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值