日期:2014-05-16  浏览次数:20333 次

Extjs4 filefield上传后返回信息页面异常
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的浏览器就有问题),所以两个方法都用上。
小宝制造。