這裏有個小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修改即可