Extjs4 filefield上传后返回信息页面异常,版本ext-4.0.2a
网页错误详细信息
用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MALC; .NET4.0C; InfoPath.2; .NET4.0E)
时间戳: Tue, 8 Nov 2011 03:52:47 UTC
消息: 例外被抛出且未被接住
行: 4898
字符: 13
代码: 0
URI: http://localhost:8080/xxxx/ext/ext-all-debug.js
在ext-all-debug.js中我用alert弹出消息显示json串格式为<PRE>{success:true}</PRE>字符串,解析json的时候报错,在google上查询两种解决方法。
第一种:在前台加入代码
Ext.override(Ext.form.Action.Submit,{ processResponse : function(response){ this.response = response; var data = response.responseText; if(data.indexOf('<pre>') != -1||data.indexOf('<PRE>') != -1) { response.responseText = data.substring(5, data.length-6); this.response = Ext.JSON.decode(response.responseText); } if(!response.responseText){ return true; } this.result = this.handleResponse(response); return this.result; } });
第二种:java中代码中设置
response.setCharacterEncoding("utf-8"); response.setContentType("text/html");
这样就哦了。
由于浏览器不同,可能一种方法在另外一种浏览器上就不好用(第一种方法google的浏览器就有问题),所以两个方法都用上。
小宝制造。