`
lgx2351
  • 浏览: 176975 次
  • 性别: Icon_minigender_1
  • 来自: 福州
社区版块
存档分类
最新评论

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

分享到:
评论

相关推荐

    实例详解Android Webview拦截ajax请求

    在 Native 端,我们需要实现一个 JavaScript Interface,例如 onAjaxRequest 方法,该方法将接收 Fly.js 传来的请求对象,并完成真正的请求后,将响应对象通过 handler 返回给 Fly.js。 通过这种方式,我们就可以...

    ajax请求之返回数据的顺序问题分析

    本文实例分析了ajax请求之返回数据的顺序问题。分享给大家供大家参考,具体如下: ajax请求一个url,php后端处理后,数组为如下格式: 代码如下:$a = array( ‘-1’=> 10 ,’-3′ => 2, ‘0’ => ‘5’ ,’-2′ => ...

    在外部方法使用Ajax请求返回的数据

    这样,`processData`函数就能访问到Ajax请求返回的数据。 4. **全局变量**: 另一种方式是通过全局变量来共享数据。虽然这不是最佳实践,但在某些情况下可能有用: ```javascript var globalData; $.ajax({ ...

    处理ajax返回的js代码

    当Ajax请求返回的数据是JavaScript代码时,我们需要正确地解析和执行这些代码。以下是一些关键步骤和注意事项: 1. **创建XMLHttpRequest对象**:这是所有Ajax操作的基础,用于建立与服务器的通信。在现代浏览器中...

    AJAX 请求完成时执行函数。Ajax 事件。

    本文将深入探讨"AJAX请求完成时执行的函数"以及相关的Ajax事件。 1. **AJAX请求过程** AJAX请求通常包括以下几个步骤:创建XMLHttpRequest对象、打开连接、发送请求和接收响应。当请求完成时,我们需要执行一些...

    jQuery中ajax请求后台返回json数据并渲染HTML的方法

    jQuery中的AJAX请求是一种非常常见的前端异步数据交互方式,它的作用是使得页面无需重新加载即可向服务器请求数据,并将数据动态地加载到页面中。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它...

    extjs ajax同步请求所需js

    标题中提到的"extjs ajax同步请求所需js"是指ExtJS框架中用于执行同步Ajax请求的相关JavaScript代码。在ExtJS中,Ajax请求通常通过`Ext.Ajax`对象来实现。与传统的异步请求不同,同步请求会阻塞浏览器,直到请求完成...

    jquery中ajax请求后台数据成功后既不执行success也不执行error的完美解决方法

    jquery中ajax请求后台数据成功后既不执行success也不执行error,此外系统报错:Uncaught SyntaxError: Unexpected identifier at Object.success,但后台能够返回数据,原代码如下: var source=[]; $.ajax({ ...

    为jquery的ajax请求添加超时timeout时间的操作方法

    在现代Web开发中,使用jQuery进行Ajax请求是一种常见的操作。jQuery作为一个广泛使用的JavaScript库,简化了从客户端到服务器的数据交互,而Ajax超时的设置则是保证请求响应时效性的重要手段。当客户端向服务器发送...

    Jquery跨域Ajax请求测试

    在Web开发中,由于同源策略的限制,JavaScript通常无法直接访问不同源的资源,但随着Web服务的广泛应用,跨域请求的需求日益增加。jQuery,作为一个强大的JavaScript库,提供了便捷的方式来处理这种问题,特别是通过...

    ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面

    前端的Ajax请求捕获到这个401状态码后,会执行跳转逻辑,将用户带到登录页面。 总结,通过前端Ajax重写方法和后台Filter的结合,我们可以优雅地处理用户未登录的情况,确保了应用的安全性和用户体验。这种方法使得...

    浏览器调试ajax请求

    在现代Web开发中,...通过分析和运行这些示例,可以更好地理解Ajax请求的工作原理,以及如何在遇到问题时进行有效的调试。记住,良好的调试技巧是每个开发者的必备技能,这不仅能帮助解决问题,还能提高开发效率。

    ajax请求后台接口数据与返回值处理js的实例讲解

    在AJAX请求中,后端服务通常会返回一个状态码,例如SuccessCode,客户端需要根据这个状态码来验证请求是否成功,并执行相应的逻辑处理。这能够确保客户端根据服务器的响应做出正确的操作,例如提示用户操作成功、...

    如何在Thymeleaf中实现ajax请求url的可靠构造

    确保在不同的场景下,如不同的URL、参数和请求方法下,Ajax请求都能正确执行。 总结,构建Thymeleaf中的Ajax请求URL需要理解Thymeleaf的模板解析和表达式语言,同时注意安全性、跨域和缓存问题。通过合理的URL构造...

    springmvc异步ajax请求

    在Spring MVC框架中,异步Ajax请求是一种常见的前端与后端交互方式,它允许Web应用在不刷新整个页面的情况下更新部分视图。这种方式极大地提升了用户体验,因为它减少了不必要的数据传输和页面渲染时间。以下是对这...

    Ajax请求验证用户名问题

    在Struts中,我们可以创建一个Action,这个Action接收Ajax请求,执行验证逻辑。 为了实现Ajax请求,开发者需要在JavaScript中编写以下步骤: 1. 创建XMLHttpRequest对象。 2. 配置请求,包括URL(指向服务器端的...

    一个完整的jquery+ajax传送请求的实例

    总结来说,这个jQuery+AJAX的实例展示了如何利用jQuery的$.ajax方法进行异步数据请求,包括设置请求参数、处理返回数据和异常情况。在实际开发中,我们需要根据项目需求灵活运用这些技巧,以实现高效、友好的前端...

    浅谈js的ajax的异步和同步请求的问题

    在异步模式下,由于Ajax请求返回的时间不确定,循环会不断执行,导致index变量不断增加,形成了死循环。而在同步模式下,由于JavaScript会等待Ajax请求完成,flag变量被设置为false后,循环会停止,从而避免死循环的...

    关于多个Ajax请求执行返回先后的问题示例探讨

    在处理多个Ajax请求时,请求的执行和返回顺序是一个经常会遇到的问题。Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个页面的情况下,能与服务器交换数据并更新部分网页的技术。因为Ajax请求是...

    ajax的js,jq jsonp,的请求方式

    由于同源策略的限制,Ajax通常无法跨域请求,但JSONP通过动态创建`<script>`标签并指定一个回调函数来解决这个问题。服务器返回的响应是一个JavaScript函数调用,带有JSON格式的数据作为参数。例如: ```javascript...

Global site tag (gtag.js) - Google Analytics