Ajax 传递json字符串到客户端时报 Internal server error

架构:struts2+JQuery

需求:就是前台请求后台,后台查询数据库,将数据转换成json格式,使用struts2框架,

赋值给action内的变量jsonStr,前台通过 response.jsonStr 得到 json字符串,接着做相关操作。

 

前端代码:

		       jQuery.ajax({
			url: 'business/xxxx!xxxx.action',
			data: 'id='+id,
			type: 'POST',
			dataType:"json",
			beforeSend: function() {
				            
			},
			error: function(XMLHttpRequest, textStatus, errorThrown) {
			        alert(errorThrown);
	              }				                	
			},
			success: function(response) {
				var jsonObj = eval("("+response.jsonStr+")");
                       }

		       });

 

后端关键代码(很简单,就是将转换好的复制给Action里的某个变量):

this.setJsonStr(listStr);

 

问题来了,当listStr数据内的某个属性值,比较大(超出了3000个字符,一个中文算三个字符),

而且含有大量中文时,前端会报错,

是的,这两个条件同时满足的情况下才会出现问题,如果该属性值是全英文/数字,即使达到4000个字符,

也不会有问题,数据小,即使全是中文也没有问题。

总之,这种情况下就前台就会打出internal server error ,错误码是500

 

你可能感兴趣的:(server)