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中的脚本的处理逻辑。  

你可能感兴趣的:(JavaScript,html,Ajax,prototype,脚本)