在使用ajaxFileUpload插件的时候,想必有不少人遇到返回的data由于添加了pre标签无法解析的问题,这里提供三个解决方式。我们找到源码ajaxfileupload.js文件,找到uploadHttpData函数,修改下它的返回值就可以了。
uploadHttpData: function( r, type ) {
var data = !type;
data = type == "xml" || data ? r.responseXML : r.responseText;
if( type == "script" )
{
jQuery.globalEval( data );
}
if( type == "json" )
{
//第一种
data = r.responseText;
var start = data.indexOf(">");
if(start != -1) {
var end = data.indexOf("<", start + 1);
if(end != -1) {
data = data.substring(start + 1, end);
}
}
eval("data = " + data);
//第二种
data = jQuery.parseJSON(jQuery(data).text());
//第三种
var data =r.responseText;
var start = data.indexOf("{");
var end = data.indexOf("}");
var jsonStr = data.substring(start,end+1);
return (jsonStr instanceof Object)?jsonStr:eval("(" + jsonStr + ")");
}
if( type == "html" )
{
jQuery("<div>").html(data).evalScripts();
}
return data;
},