博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajaxFileUpload plugin上传文件 chrome、Firefox中出现SyntaxError:unexpected token <
阅读量:6173 次
发布时间:2019-06-21

本文共 1822 字,大约阅读时间需要 6 分钟。

Html代码

最近在使用ajaxFileUpload插件做文件上传时,后端返回json格式的数据,js代码如下: 

function ajaxFileUpload() {          $.ajaxFileUpload      (        {          url: '/upload',          secureuri: false,          fileElementId: 'file_field',          dataType: 'json', //这里选择了json                        success: function (data, status) {            alert(data);          },                            error: function (data, status, e) {             alert(e);          }        }      )  }

结果在chrome和FireFox浏览器出现如下错误: 

网上查了下原因,是因为Server端的Response上加上了contentType="application/json"。但有时后端这么做是必须的,所以修改ajaxFileUpload源码,将<pre></pre>标签去掉,如下: 

Js代码

1 uploadHttpData: function( r, type ) {   2         var data = !type;   3         data = type == "xml" || data ? r.responseXML : r.responseText;   4         // If the type is "script", eval it in global context   5         if ( type == "script" )   6             jQuery.globalEval( data );   7         // Get the JavaScript object, if JSON is used.   8         if ( type == "json" ) {   9              以下为新增代码///  10              data = r.responseText;  11              var start = data.indexOf(">");  12              if(start != -1) {  13                var end = data.indexOf("<", start + 1);  14                if(end != -1) {  15                  data = data.substring(start + 1, end);  16                 }  17              }  18               ///以上为新增代码///  19               eval( "data = " + data);  20         }  21         // evaluate scripts within html  22         if ( type == "html" )  23             jQuery("
").html(data).evalScripts(); 24 25 return data; 26 }

至此,大工告成,ajaxFileUpload的dataType正常使用json。 

转载于:https://www.cnblogs.com/fang645421992/p/4665075.html

你可能感兴趣的文章
AD系列23-Operation AD Skills
查看>>
RHEL5.1 LVM配置
查看>>
剑指Offer之从尾到头打印链表(题5)
查看>>
python 安装setuptools时报Compression requires the (missing) zlib module错误的解决方案
查看>>
aix nmon监控
查看>>
lsyncd搭建测试
查看>>
移动web开发之像素和DPR
查看>>
修改office语言包
查看>>
在Linux系统centos上安装RAR
查看>>
openstack 集成vmware 填坑经验
查看>>
搜索总数不一致
查看>>
简单CDN之智能DNS
查看>>
nginx+tomcat+redis实现session共享
查看>>
UWP VirtualizedVariableSizedGridView 支持可虚拟化可变大小Item的View(二)
查看>>
rsync 介绍
查看>>
ldap
查看>>
使用aliyun镜像源下载镜像及仓库搭建
查看>>
Eric,基于多搜索引擎的自动问答机器人
查看>>
Logstash6.1 手动安装插件
查看>>
利用Oracle在线重定义Online Redefinition清理历史数据
查看>>