再议JQuery中Ajax内存溢出问题。

华为CNA VRM搭建(使用vmware worfstartion搭建) 华为CNA和VRM在 vmware workstation安装使用 阅读详情

这个问题首先由使用jqPlot引发,当使用这个图形插件动态绘制图形的时候,浏览器会出现内存不断递增的情况,后来使用很多办法,但是效果都不理想。最后猜测可能和Ajax使用上有关。 


请看下面代码: 
Javascript代码   收藏代码
  1. $.ajax({  
  2.     url : 'data_url',  
  3.     dataType : "json",  
  4.     success : function(data) {  
  5.         var isEmpty = isBarChartDataEmpty(data);  
  6.         if (isEmpty)  
  7.             return;  
  8.   
  9.         引用data绘制图形  
  10.         ……  
  11.     },  
  12.     error : function(XHRequest, status, data) {  
  13.         XHRequest.abort();  
  14.         clearPlotChart(g_typePlot);  
  15.         typeChartTimer();  
  16.     }  
  17. });  


当我们在通过Ajax返回json对象时,如果对象里面还有数组,并且直接给其他插件或者全局代码使用后,没有得到释放。 

解决的办法就是使用slice()方法将Ajax返回的JSON对象中的数组复制出来使用,以避免对象引用而无法释放的问题。 

Javascript代码   收藏代码
  1. $.ajax({  
  2.     url : 'data_url',  
  3.     dataType : "json",  
  4.     success : function(data) {  
  5.         var isEmpty = isBarChartDataEmpty(data);  
  6.         if (isEmpty)  
  7.             return;  
  8.   
  9.         var chartTicks = data.ticks.slice(0);  
  10.         var chartData = data.chartData.slice(0);  
  11.   
  12.     },  
  13.     error : function(XHRequest, status, data) {  
  14.         XHRequest.abort();  
  15.         clearPlotChart(g_typePlot);  
  16.         typeChartTimer();  
  17.     }  
  18. });  


如果有遇到Ajax导致内存泄露的情况,可以参考改方法试试。实现原则就是避免对象引用导致无法被释放的情况。
搞懂 ABAP 里的 Language Settings:登录语言、文本环境语言与 sy-langu 的真实含义 SAP系统中语言设置并非单一字段决定,而是由登录语言(logon language)和文本环境语言(text environment language)共同控制。登录语言在会话期间固定,而文本环境语言可通过SET LOCALE语句修改,影响文本处理、排序、异常显示等行为。开发中需区分两者:使用CL_ABAP_SYST方法获取登录语言,通过sy-langu或GET LOCALE获取当前文本环境语言。语言环境切换应谨慎处理并尽快恢复,避免影响会话中其他程序。在多语言场景下,正确处理语言设置对确保文本相关功能正常 阅读详情

相关推荐

手把手教你配置SAP PP供应区域(Supply Area):实现线边仓精准发料与物料流优化

本文详细解析了SAP PP供应区域(Supply Area)的配置方法,帮助企业实现线边仓精准发料与物料流优化。通过三级优先级逻辑和四步配置法,系统可自动识别最优组件来源位置,显著提升生产订单处理效率和库存准确率。文章还提供了典型问题解决方案和性能优化技巧,适用于离散制造和重复制造场景。

weixin_29275257的博客 433

JQuery使用Ajax内存溢出问题总结

最近做一个项目,环境是struts2.3.16,spring3.0,mybatis2.3 当我使用JQuery的ajax方法提交请求返回个对象时,遇到了内存泄露的问题,这个问题困扰了我一个多星期: 开始调用ajax方法,反应比较慢,大概4~5秒之后才会出现效果. 重复几次调用之后,浏览器直接崩溃,系统开始卡,一步一卡... 打开cpu监视情况发现,当调用ajax方法,内存从百分之56直接飞...

weixin_30747253的博客 640

将雷达连接到树莓派的串口

dev/ttyAMA0 是树莓派的主要 UART(用于 GPIO 引脚 8 (TXD) 和 10 (RXD))。通常,树莓派使用 GPIO 引脚 8 (TXD) 和 10 (RXD) 进行串口通信。树莓派上通常有两个串口:/dev/ttyS0 和 /dev/ttyAMA0。你需要确认雷达的 TX 和 RX 引脚,并与树莓派的对应引脚连接。VCC(电源)连接到树莓派的 3.3V 或 5V(根据雷达的要求)MR(Receive)连接到树莓派的 GPIO 8 (TXD)GND(地)连接到树莓派的 GND。

qq_45943628的博客 1465

让人苦恼的jquery内存溢出问题

最近几天刚开发了一个购物网站,其中用到了很多js特效都是使用jquery写的,不得不说jquery开发确实非常高效,但是这两天我发现一个严重的问题,就是内存溢出 网站刚打开内存占用400M浏览一段时间之后内存剧增至1.5G实在是恐怖,该注销的变量也已经注销了,该清理的对象也清理了,内存还是下不来. 尤其是在使用ajax频繁请求服务器的时候如果一旦不流畅,此时就会内存暴涨,哎!苦恼...

306

基于大模型的急性重症胰腺炎全流程预测与诊疗方案研究

本研究构建了基于大模型的急性重症胰腺炎(SAP)全流程预测与诊疗系统,实现了从术前风险评估到术后康复管理的精准诊疗闭环。通过整合临床信息、实验室检查和影像学等多源数据,模型在测试集上预测准确率达X%,AUC为X,显著优于传统评分系统。研究创新性地将预测结果应用于手术方案制定、麻醉决策、并发症防控及个性化护理,形成智能化诊疗方案。验证结果显示模型具有良好的稳定性和临床适用性,同时配套的健康教育体系提升了患者自我管理能力。尽管存在样本局限性和模型可解释性等不足,该研究为SAP的精准诊疗提供了新范式,未来可通过扩

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1115

从毫K级温控到分子级洁净:光刻机环境控制系统的技术演进与专利格局

摘要 光刻机环境控制系统是半导体制造中的"隐形精密工程",通过毫K级温度控制(±0.002℃)、超高洁净度(ISO Class 1)等核心技术为纳米级光刻提供环境保障。本文系统分析了温度、湿度、洁净度、流场和压力控制五大技术方向的发展趋势,揭示了从单参数控制向多参数协同智能控制的转型路径。研究显示:1)温度控制正从PID向神经网络智能控制演进;2)EUV光刻将湿度控制推至ppbv级;3)洁净度控制扩展到分子级污染物管理。头部厂商中,ASML侧重系统集成,Nikon专注浸没流场,Canon

huanghm88的专栏 312

php $_post溢出,php - Jquery .post()返回数组 - 堆栈内存溢出

您可以使用json_encode函数将任意数据转换为JSON。 假设您要返回一个字符串数组,以下是使用json_encode的方法:include_once '../include/lib.php';$res = array(); // initialize variables$sqlgr = sprintf("SELECT ACT_IDFROM PRIVILLAGEWHERE MAINGR_I...

weixin_32024145的博客 146

使用Open3D进行RGB-D图像点云处理

在本文中,我们将使用Open3D来处理RGB-D图像,提取点云并进行一些基本的操作。总结起来,本文介绍了如何使用Open3D库处理RGB-D图像并提取点云。我们展示了如何读取RGB-D图像,创建RGB-D图像和点云,并显示点云。除了显示点云,Open3D还提供了许多其他功能,如点云滤波、点云配准、表面重建等。在创建RGB-D图像时,我们需要指定深度图像的缩放因子和截断值,以及是否将RGB图像转换为强度图像。希望本文能够帮助您入门Open3D,并在处理RGB-D图像和点云数据时提供一些指导。

QfcaLinux的博客 445

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

转自:http://www.cnblogs.com/kuibono/archive/2012/05/25/2517944.html 最近发现jQuery越来越火,用它的人也越来越多。jQuery最强大的亮点莫过于它的CSS3 selector和极其简单的Ajax请求调用。 最近一哥们在做一个Ajax长连接的项目,页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接,过程...

anduoji8601的博客 94

把审批体验做成一体化:SAP Business Workflow 里的 Secondary Method、Before Method 与 After Method

摘要:SAP Business Workflow 中,Task 的 Secondary、Before 和 After 三类方法对提升审批体验和可追溯性至关重要。Secondary Method 可自动展示辅助信息(如审批时弹出排班报表),但需注意其独立会话特性;Before Method 适合预处理和审计留痕;After Method 确保收尾动作可靠执行。三类方法按特定顺序调用,且错误不影响主流程。合理使用这些方法能减少事务码切换,增强审计能力,优化用户体验。(149字)

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 187

CARLA仿真:自定义地图与AI车辆行为编程

CARLA仿真:自定义地图与AI车辆行为编程 ,人工智能,计算机视觉,大模型,AI,本文围绕CARLA仿真平台,介绍了其基础功能与安装方法,详解地图系统,包括预设地图的加载切换及自定义地图的创建、导入与优化。还阐述了AI车辆的创建、属性设置、销毁,以及行为控制,如交通规则遵守、路径规划、复杂行为编程和行为树应用。同时涉及传感器与车辆感知、交通场景构建、自定义地图与AI行为结合应用、高级应用,以及常见问题解决方案和学习资源,为CARLA仿真应用提供全面指导。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 11万+

前端内存溢出问题

内存溢出无非就是不能给垃圾回收机制回收,这个前提下是这部分内容已经是你不在使用的了。 网上有常见的四种内存溢出的情况。 传送门:链接 而使用jq的话 1、不要使用html方法删除DOM节点,因为这样其实只是删除了页面上的,内存里的还没有删除,建议使用:empty和remove方法 2、定时器不使用要清除,clearInterval,clearTimeout 3、变量声明不要忘了,因为这...

weixin_30696427的博客 2808

最优控制 (Optimal Control) 算法详解及案例分析

最优控制是一种通过优化控制输入,使系统在满足约束条件的情况下达到最优性能的控制方法。其目标是最小化或最大化一个性能指标。

闲人编程的博客 2092

ajax有时好用有时不好用,jquery - jQuery AJAX提交按钮有时不起作用 - 堆栈内存溢出...

大家问候我使用链接作为JQuery AJAX提交按钮,有时在单击时会触发,而有时却不会。 射击失败是间歇性的。 提交AJAX表单后似乎发生了这种情况,但返回的错误却显示了出来。然后,当我再次单击“提交”按钮/链接时,有时什么也没有发生,并且有时工作正常。 控制台上没有显示JavaScript错误。 这是我的代码的样子。 我会很感激你的想法。 我需要使用.live()吗? 如果是这样,...

weixin_39709262的博客 420

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

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

最近发现jQuery越来越火,用它的人也越来越多。jQuery最强大的亮点莫过于它的CSS3 selector和极其简单的Ajax请求调用。 最近一哥们在做一个Ajax长连接的项目,页面需要和服务器保持长连接,而且在连接超时后需要重新请求连接,过程中他问我要用到什么,我也是想都没想就告诉他用jQuery。jQuery不是有ajaxSuccessajaxError这些对象吗,在...

85

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

js发起ajax出现内存溢出错误

js发起ajax出现内存溢出错误,请求没有发到后台,遇到的问题原因是因为请求参数弄错了,请求参数值直接把变量值写成了元素id 导致穿了页面标签过去内存溢出 比方 name:$("#nameId").val(); 我直接name:nameId nameId打印出来的是这个元素的标签 ...

哦绝影 526

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ajax.post内存溢出,jquery - jQuery $ .ajax通过发送POST接收到400错误请求 - 堆栈内存溢出...

在jquery ajax上持续接收400(错误请求)到MVC控制器。 我试图发送带有和不带有JSON.stringify ...的简单数据,数组,但我的想法耗尽了。 还有什么呢?Ajax发送$.ajax({type: 'POST',url: '../../taskaction/send',data: JSON.stringify({idTaskAction: 2, actioname: 3})...

weixin_31328555的博客 364

ajax中的属性rules,javascript - 为什么jquery-validate会在我的jQuery.ajax调用之前跳转,为什么要查找不存在的属性? [重复] - 堆栈内存溢出...

这不是两个链接问题的重复,因为我不是在问如何让jquery-validate和jquery.ajax()一起工作,而是在问为什么jquery-validate阻碍了表面上独立的ajax请求我有一个通过jquery-validate验证的大型表格,它工作正常。 我在此表单内添加了一个按钮(“按钮”类型),该按钮引发了Bootstrap 4.0模态,位于该表单之外。 一切正常。 模态上有两个文本...

weixin_36383252的博客 385

ajax json 内存溢出,javascript

我对CefSharps Chromium浏览器真的很陌生,很难弄清楚如何获取jquery ajax请求的结果。我的第一次尝试是将我的AJAX requesto传递给EvaluateScriptAsync 。 实际上该脚本有效。 它完全符合我的要求,但是我没有得到任何结果/状态代码,因为我的Cef-Task不会等到AJAX完成其工作。这里是一个示例(只是示例代码):var tasks = pdB...

weixin_42510717的博客 301
上一篇: CSS HACK 解决兼容的写法
下一篇: 使用HTML5的geolocation API
聪明叔
博客等级 码龄22年 20粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值