一次Ajax报错:“存储空间不足,无法完成此操作”的解决经验

本文主要是介绍一次Ajax报错:“存储空间不足,无法完成此操作”的解决经验,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

连续几天我们收到几位客户的问题工单,问题描述都类似,都是在做登陆或者交易时报脚本错误,交易无法正常执行。

我们“远程协助”客户机器时,调试发现都是ajax代码出错,错误如下:

网页错误详细信息

 

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)

时间戳: Fri, 1 Aug 2014 08:05:43 UTC

 

 

消息: 存储空间不足,无法完成此操作。

 

行: 772

字符: 8

代码: 0

URI: https://xxx.xxxxx.com/yyy/script.do

 

网页错误详细信息

 

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)

时间戳: Fri, 1 Aug 2014 08:11:44 UTC

 

 

消息: 数组长度必须赋值为有限正数

行: 722

字符: 3

代码: 0

URI: https://xxx.xxxxx.com/yyy/script.do


网络上查了一下相关的资料,按说明调整了IE选项,把ie6升级到ie8,安装其他的浏览器,检查了相关的注册表项等等,

但是这些都没有解决这个问题。

后面我们联系了一家客户,去客户公司现场调试并详细了解了相关问题和情况,

最后采集了机器数据回去后做详细分析发现了注册表中有个可疑的条目:

HKEY_CLASSES_ROOT\CLSID\{ED8C108E-4349-11D2-91A4-00C04F7969E8}\InProcServer32

%SystemRoot%\System32\msxml3.dll

我们怀疑这个和我们的ajax方法有冲突;我们原来的js代码中有一段:

Window.ActiveXObject?newActiveXObject(“Microsoft.XMLHTTP”):new XMLHttpRequest();


(比较老的代码了,有段历史了,公司早期做的封装,后面一直没更新)

对比就发现了客户机器上的msxml3.dll比我们代码中使用的Microsoft.XMLHTTP版本更新,

后来我们为了兼容这个版本问题修改了代码,新代码如下:


function createXmlRequest(){
if(window.ActiveXObject && !window.XMLHttpRequest){
//IE浏览器
var msxmls = ['MSXML2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','MSXML2.XMLHTTP.2.6','Msxml2.XMLHTTP','Microsoft.XMLHTTP'];
for (var i = 0; i < msxmls.length; i++) {
try {
return new ActiveXObject(msxmls[i]);
} catch (e) {
}
}
}else if(window.XMLHttpRequest){//Mozilla、Opera 等非IE浏览器
return new XMLHttpRequest();
}else
{
return null;
} 
}



 后来总结发现,那批有问题的客户是因为都安装一款财务软件,该软件自带msxml3.dll,并且往注册表中写入上面的那个项,

从而导致了和我们的脚本代码冲突使页面报错。

这篇关于一次Ajax报错:“存储空间不足,无法完成此操作”的解决经验的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1055781

相关文章

Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单

《Springboot的ThreadPoolTaskScheduler线程池轻松搞定15分钟不操作自动取消订单》:本文主要介绍Springboot的ThreadPoolTaskScheduler线... 目录ThreadPoolTaskScheduler线程池实现15分钟不操作自动取消订单概要1,创建订单后

oracle数据库索引失效的问题及解决

《oracle数据库索引失效的问题及解决》本文总结了在Oracle数据库中索引失效的一些常见场景,包括使用isnull、isnotnull、!=、、、函数处理、like前置%查询以及范围索引和等值索引... 目录oracle数据库索引失效问题场景环境索引失效情况及验证结论一结论二结论三结论四结论五总结ora

element-ui下拉输入框+resetFields无法回显的问题解决

《element-ui下拉输入框+resetFields无法回显的问题解决》本文主要介绍了在使用ElementUI的下拉输入框时,点击重置按钮后输入框无法回显数据的问题,具有一定的参考价值,感兴趣的... 目录描述原因问题重现解决方案方法一方法二总结描述第一次进入页面,不做任何操作,点击重置按钮,再进行下

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题

《解决mybatis-plus-boot-starter与mybatis-spring-boot-starter的错误问题》本文主要讲述了在使用MyBatis和MyBatis-Plus时遇到的绑定异常... 目录myBATis-plus-boot-starpythonter与mybatis-spring-b

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

电脑显示hdmi无信号怎么办? 电脑显示器无信号的终极解决指南

《电脑显示hdmi无信号怎么办?电脑显示器无信号的终极解决指南》HDMI无信号的问题却让人头疼不已,遇到这种情况该怎么办?针对这种情况,我们可以采取一系列步骤来逐一排查并解决问题,以下是详细的方法... 无论你是试图为笔记本电脑设置多个显示器还是使用外部显示器,都可能会弹出“无HDMI信号”错误。此消息可能