在使用ajaxFileUpload.js进行上传文件的时候,在返回的JSon字符串里面总是莫名其妙的添加了<pre>标签,例如返回内容为"{\"message\":\"导入文件已成功\",\"result\":\"OK\"}",在浏览器里面就变成了"<pre style="word-wrap: break-word; white-space: pre-wrap;">"{\"message\":\"导入文件已成功\",\"result\":\"OK\"}"</pre>",这样就导致Ajax解析返回值的时候出现错误。
目前IE和火狐正常。360出这个错误。
本人解决方式是分为2步。
1.把dataType类型变成text,不用json。
2.把浏览器添加的<pre>内容去掉。
下面是主要代码,大家看下之后就明白了。
$.ajaxFileUpload({
url: '/xxxxxx/xxxx/xxxxx.ashx',
secureuri: false,
fileElementId: imgfileId,
dataType: 'text',
success: function (d) {
$('#idProcess').attr('src',d.replace("<pre>", "").replace("</pre>", "").replace("<PRE>", "").replace("</PRE>", "").replace(/<[^>]+>/g, "")).attr("title", "我的头像");}});