Thinkphp结合ajaxfileupload完成异步图片传输实例有什么?
前语
在做这个项目之前,对图片上传处理一向都是直接用表单提交的办法进行文件传输,这次由于需求,需求完成对图片进行异步传输,尽管完成并不难,究竟现在插件太多了,但仍是浪费了我很长的调试时刻,原因便是运用了远古时期的插件ajaxfileupload,在刚开端运用的时分频频报错,说handler is not a function。
怀着沉重的心境,我百度了一下,然后就找到了答案,不由感概查找引擎真是强壮。
解决办法
上述报错的原因便是jquery从1.9.0开端便不再运用handler这个办法了,具体原因不知道,所以只能在下载下来的 jQuery.extend({
里手动增加代码:
handleError: function( s, xhr, status, e ){ // If a local callback was specified, fire it if ( s.error ) { s.error.call( s.context || s, xhr, status, e ); } // Fire the global callback if ( s.global ) { (s.context ? jQuery(s.context) : jQuery.event).trigger( "ajaxError", [xhr, s, e] ); } }
,持续debug
$.ajaxfileupload({ url : '', secureuri : '', fileElementId : '', --> 这儿填的是 input file的ID data : {}, dataType : 'json', complete : function(data){} })
代码不在报错了,但又有新的问题,回来的数据一向是undefined,随后看了下调试东西,回来值存在,并且格局也没问题,怎样都想不明白之后,又去..................百度了,
然后做了两个调整:
1,将ajaxfileupload.js里的 eval('data = '+ data) ;
替换成 data = jQuery.parseJSON(jQuery(data).text());
2,将complete办法换成success
ok,后端回来的数据可以打印了。
总结
以上便是这篇文章的全部内容了,期望本文的内容对咱们的学习或许运用Swift能带来必定的协助,假如有疑问咱们可以留言沟通,谢谢咱们对vwin的支撑。
本文地址:http://www.anyuan2002.com/bcdm/89284.html