这里有个小bug,耗费了我一天的时间,就是fileUpload在处理json 返回值的时候不会去过滤掉
<pre></pre> <PRE></PRE>
这种字符的,然后就会报错
missing } in XML expression
所以我们在拿到的返回值是这样子的
<pre>{"fileName":"\/upfile\/images\/1468309140434.png","success":true}</pre>
这样
var res = Ext.util.JSON.decode(action.response.responseText);
就无法去正确解析返回的字符串了。
下面我们需要对ext-all.js源码做一个修改,如下:
doDecode = function(json){
//加入部分begin
if(json.indexOf('<pre>') != -1 || json.indexOf('<PRE>') != -1 ){
json=json.replace('<pre>','').replace('<PRE>','').replace('</pre>','').replace('</PRE>','');
}
//加入部分end
return eval("(" + json + ")");
},
如果是ext-all.js是压缩后的,自己去找没压缩的js修改即可