解决“SCRIPT257: 因为出现错误 80020101 而致使此项操做没法完成。 ”

  今天客户反映IE浏览系统又出问题了,可是在谷歌火狐浏览器下面没问题。没办法,IE下启动调试,出现以下错误提示(为了方便调试,我把jquery未压缩版本替换了服务器的***min.js):
javascript

点击跳到源码,下断点,再次查询数据,发现java

" var handleValue = '';handleValue = paserResult('false','2":jquery

应该是eval的函数不完整,web

在 页面下搜索JS文件,发现“paserResult”是在一个叫lchecking.js 里 :json

function initHChecking(params) 
{     
	$("#tbLChecking").flexigrid( {
		url : 'platformstat/findLCheckings.action',
		dataType : 'json',
       .....(略)
        {
			display : '应答结果',
			name : 'IsResult',
			paramcolnames : ['IsResult','CheckReturnContent','CheckReturnTime','CheckTime'],
			handlefunction : 'paserResult',
			width : 70,
			sortable : false,
			align : 'left'
		},

 .....(略)
function paserResult(result,CheckReturnContent,CheckReturnTime,CheckTime)
{
	if(CheckReturnContent==""){
		return "<span style='color:red'>未应答</span>";
	}else{
	if(TimeDifference(CheckTime,CheckReturnTime)){
	if(result=="true")
	{
		return "应答正确";
	}
	else 
	{	
		if(CheckReturnContent == ""){
			return "";
		}else{
			return "<span style='color:red'>应答错误</span>";
		}
	}
	}else{
		return "<span style='color:red'>应答超时</span>";
	}
	}
}


原来是引用了flexigrid, 将服务器上的flexigrid.pack.js替换成未压缩版本,找到handlefunction : 继续调试浏览器

/*
 * Flexigrid for jQuery - New Wave Grid
 * 
 * Copyright (c) 2008 Paulo P. Marinas (webplicity.net/flexigrid) Dual licensed
 * under the MIT (MIT-LICENSE.txt) and GPL (GPL-LICENSE.txt) licenses.
 * 
 * $Date: 2008-07-14 00:09:43 +0800 (Tue, 14 Jul 2008) $
 */​​​​​​​


发现是多了个特殊字符形成截断了。服务器

var paramcolvalue = data.rows[i][paramcolname];
 paramcolvalue =  decodeURI(encodeURI(paramcolvalue).replace('%00', '')); (加上这句 )函数

这样处理以后问题暂时解决了。flex

相关文章
相关标签/搜索