`
lxy2330
  • 浏览: 469160 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用jQuery Ajax功能的时候需要注意的一个问题

 
阅读更多

 

最近发现jQuery越来越火,用它的人也越来越多。jQuery最强大的亮点莫过于它的CSS3 selector和极其简单的Ajax请求调用。

 

最近一哥们在做一个Ajax长连接的项目,页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接,过程中他问我要用到什么,我也是想都没想就告诉他用jQuery。jQuery不是有ajaxSuccess  ajaxError这些对象吗,在请求完成或者请求失败后重新请求不就好了。

 

但是后来他告诉我说没有用 jQuery,自己手工写的XMLhttprequest 。他告诉我说,开始是用jquery写的,而且在测试过程中也没有出现问题。但是在后来无意中发现,在页面开的时候久了之后,浏览器资源竟然占用非常高导致内存不足而崩溃了。后来抓包分析发现,每次jquery的Ajax请求都会创建一个xmlHttprequest对象,理论上讲,长连接的请求是一个无限递归,请求数量是非常大的,但是由于每次请求都会建立一个新的xmlhttprequest,而且jquery不会自动回收资源,所以导致了内存溢出。

 

通过查看jquery API,发现jquery还有一个 complete对象,是请求完成后回调函数 (请求成功或失败之后均调用)。 同时有两个参数XMLHttpRequest, textStatus。所以,我们只需要在请求完成后,将传回的XMLHttprequest对象手工回收即可,代码如下:

 

复制代码
$.ajax({
    url: "http://www.aizr.net",
    data: { name: "xxxx" },
    dataType: "xml",
    success: function (data, textStatus) { 
       //do something...
    },
    complete: function (XHR, TS) { XHR = null }
});
复制代码

 

分享到:
评论

相关推荐

    jquery ajax源代码

    ### jQuery AJAX 源代码分析 #### 一、概述 jQuery 是一款优秀的 JavaScript 库,它简化了 HTML 文档遍历、...通过深入理解 jQuery AJAX 的工作原理和使用方法,可以更加高效地开发出具有异步交互功能的应用程序。

    jQuery-ajax-用户名异步请求

    在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理以及Ajax交互。本主题聚焦于jQuery中的Ajax功能,特别是如何利用它进行异步用户名验证。Ajax,即Asynchronous JavaScript and ...

    JQuery+AJAX实现用户名验证

    本篇文章将深入探讨如何使用jQuery与AJAX技术来实现一个简单的用户名验证功能,以此来确保用户输入的用户名的独特性。这个过程涉及到前端与后端的交互,以及JavaScript、jQuery库和HTTP请求的基本原理。 首先,...

    jquery ajax demo

    `jQuery AJAX`是jQuery库中的一个核心功能,它极大地简化了原生JavaScript的异步数据通信过程。本教程将深入探讨"jquery ajax demo",通过实际示例展示如何利用jQuery AJAX进行数据的发送和接收。 ### 1. AJAX基础...

    ajax对jquery的支持

    jQuery是一个广泛使用的JavaScript库,它简化了JavaScript的许多复杂操作,包括AJAX请求。在本案例中,“ajax对jquery的支持”是指使用jQuery库来实现一个实时股票更新的功能。 jQuery的AJAX功能通过`.ajax()`方法...

    基于jquery.masonry插件开发的瀑布流ajax动态加载数据功能

    通过以上步骤,我们可以成功构建一个基于jQuery Masonry插件和Ajax技术的瀑布流动态加载数据功能。这个功能不仅提高了页面的可读性和互动性,还能有效减少服务器负载,因为只有在需要时才会请求新数据。

    jsp中使用jquery实现ajax源码

    在本地开发环境中,你需要安装Tomcat并在其上部署JSP项目,以运行和测试jQuery AJAX功能。 8. **压缩包内容**: - **效果图.bmp**:可能展示了jQuery AJAX在JSP中实现的效果,如动态加载数据或无刷新更新界面。 -...

    jQuery Ajax使用 全解析

    - 它可以简写为$.get(),是jQuery.ajax()的一个特化版本,简化了GET请求的处理。 - 可以接受一个或多个参数:URL地址、要发送的数据以及成功的回调函数。 - 通常用于获取服务器上的数据,如文本、HTML、JSON或XML...

    使用jQuery Ajax功能时需要注意的一个问题(内存溢出)

    最近一哥们在做一个Ajax长连接的项目,页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接,过程中他问我要用到什么,我也是想都没想就告诉他用jQuery。jQuery不是有ajaxSuccess ajaxError这些对象吗,...

    jquery ajax接收后台传值

    2. **JavaScript**:使用jQuery库提供的AJAX功能,监听下拉框的`change`事件,发起请求,并处理服务器响应。 3. **后端**:处理来自前端的请求,并返回适当的数据格式(此处为JSON)。 #### 二、HTML结构 首先来看...

    springmvc利用jquery实现ajax的例子

    在本示例中,我们将探讨如何使用Spring MVC框架与jQuery库结合实现Ajax功能。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序,而jQuery则是一个强大的JavaScript库,简化了DOM操作、事件处理以及异步HTTP...

    jquery ajax框架

    jQuery AJAX框架是JavaScript库jQuery中的一个核心特性,它极大地简化了网页与服务器之间的异步数据交互。AJAX,即Asynchronous JavaScript and XML,允许在不刷新整个页面的情况下更新部分网页内容,提升了用户体验...

    Mvc使用JqueryAjaxJson登陆源码20100710

    Mvc使用JqueryAjaxJson登陆源码 功能介绍: 在MVC中使用 JqueryAjaxJson登陆,功能比较简单,对初学者很有帮助。 注意: 点击Open Dialog打开登录对话框

    jquery ajax实例点击按钮触发Ajax loading

    在本实例中,我们将探讨如何利用jQuery的AJAX功能,通过点击按钮来触发一个加载动画(通常表现为一个"loading"图标或指示器),以提升用户体验,表明后台数据正在处理中。 首先,确保在项目中引入了jQuery库。你...

    jquery ajax 向后台传递数组参数示例

    在JavaScript中,jQuery的AJAX功能常常用于与服务器进行异步数据交互。当需要传递数组作为参数时,可能会遇到一些挑战,特别是在数组中包含复杂对象的情况。本文将深入讲解如何在jQuery AJAX中向后台传递数组参数,...

    jquery ajax 智能搜索

    本文将深入探讨如何使用jQuery和AJAX技术实现一个智能搜索功能,通过分析给定代码示例,我们将理解其工作原理、关键技术和实践技巧。 #### 一、jQuery与AJAX简介 **jQuery** 是一个轻量级的JavaScript库,它简化了...

    jQuery-ajax-json实现自动轮播图.rar

    本教程将介绍如何利用jQuery、ajax和json技术来实现一个自动轮播图的功能。jQuery是一个轻量级的JavaScript库,极大地简化了DOM操作、事件处理和Ajax交互;ajax用于异步数据传输,使页面无需刷新即可获取新数据;...

    JQuery+AJAX处理XML数据

    jQuery 是一个流行的 JavaScript 库,它简化了 DOM 操作、事件处理以及异步请求(如 AJAX)。AJAX 全称为 Asynchronous JavaScript and XML,允许页面在不重新加载整个页面的情况下与服务器进行通信。尽管“XML”是...

    利用jquery Ajax验证重复

    jQuery是一个流行的JavaScript库,它简化了许多复杂的JavaScript操作,如DOM操作、事件处理以及AJAX交互。AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种在不重新加载整个网页的...

Global site tag (gtag.js) - Google Analytics