ajaxfileupload 返回值_ajaxFileUpload上传文件返回json无法解析

最近做一个文件上传的功能,还要绑定数据传输到后台,为了不影响前端的体验,采用ajax发送请求。找了一些资料,网上的用ajaxupload这个插件。

但是无论成功还是失败都是执行的error的回调函数。后台我采用springmvc返回的json,在前段debug后发现,原来返回的虽然是json格式,但是它又包装了一层。

{"retcode":"0"}

没办法查了好多资料发现有的大牛也遇到了这个问题,有的还琢磨了好几天。看了一下github上的源码是6年前上传的,发现有一个大牛2016.11.15号对源码修改了下解决了这个问题。uploadHttpData: function( r, type ) {

var data = !type;

data = type == "xml" || data ? r.responseXML : r.responseText;

// If the type is "script", eval it in global context

if ( type == "script" )

jQuery.globalEval( data );

// Get the JavaScript object, if JSON is used.

if ( type == "json" )

{

// If you add mimetype in your response,

// you have to delete the '

' tag. 
 

// The pre tag in Chrome has attribute, so have to use regex to remove

var data = r.responseText;

var rx = new RegExp("

(.*?)","i");

var am = rx.exec(data);

//this is the desired data extracted

var data = (am) ? am[1] : ""; //the only submatch or empty

eval( "data = " + data );

}// evaluate scripts within html if ( type == "html" ) jQuery("

").html(data).evalScripts(); //alert($('param', data).each(function(){alert($(this).attr('value'));})); return data; }

估计原作者对代码估计也没维护了。我最后还找到了大牛们的另一个解决办法:在ajaxFileUpload.js中的uploadHttpData方法中修改对json的判断:

这里只是记录下防止自己忘记哈

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值