js ajaxfileupload.js上传报错的解决方法


Posted in Javascript onMay 05, 2016

相信大家在工作中经常用到文件上传的操作,因为我是搞前端的,所以这里主要是介绍ajax在前端中的操作。代码我省略的比较多,直接拿js那里的

$.ajaxFileUpload({
   url:'www.coding/mobi/file/uploadSingleFile.html',//处理图片脚本
   secureuri :false,
   fileElementId :'image2',//file控件id。就是input type="file" id="image2"
   dataType : 'json',
   success : function (data, status){
    console.log(data);
   },
   error: function(data, status, e){
    alert(e);
   }
   })

按照教程,这样子上传的话是没有问题的,可是它一直有一个报错。报的是什么错有点忘了,不好意思 ,因为用完很久才记得补回这篇文章,但是要修改它的源码,那个错误就可以解决了 

它源码的最后一段是这样子的

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" )
  eval( "data = " + data );
 // evaluate scripts within html
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

将这一段改为这样子

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" ){
  // 因为json数据会被<pre>标签包着,所以有问题,现在添加以下代码,
  // update by hzy
  var reg = /<pre.+?>(.+)<\/pre>/g; 
  var result = data.match(reg);
  result = RegExp.$1;
  // update end
  data = $.parseJSON(result);
  // eval( "data = " + data );
 // evaluate scripts within html
 }
 if ( type == "html" )
  jQuery("<div>").html(data).evalScripts();
  //alert($('param', data).each(function(){alert($(this).attr('value'));}));
 return data;
 }

这样就可以正常使用了。

另一种情况:ajaxFileUpload 报这错jQuery.handleError is not a function

版本1.4.2之前的版本才有handlerError方法,例子里使用的Jquery是1.2的,解决方法:

为了能够继续使用ajaxfileupload上传我们的附件,只好将下面代码拷进我们的项目中的ajaxfileupload.js文件中

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] ); 
    } 
 }

更多精彩内容请参考专题《ajax上传技术汇总》,《javascript文件上传操作汇总》和《jQuery上传操作汇总》进行学习。

以上就是面对ajaxupload.js上传报错问题的解决方法,希望能帮助大家解决困难,也希望大家继续关注三水点靠木更多精彩内容。

Javascript 相关文章推荐
自动完成JS类(纯JS, Ajax模式)
Mar 12 Javascript
JQuery实现用户名无刷新验证的小例子
Mar 22 Javascript
不提示直接关闭网页窗口的JS示例代码
Dec 17 Javascript
jquery获取复选框被选中的值
Apr 10 Javascript
JavaScript实现生成GUID(全局统一标识符)
Sep 05 Javascript
简述JavaScript中正则表达式的使用方法
Jun 15 Javascript
EasyUI的DataGrid每行数据添加操作按钮的实现代码
Aug 22 Javascript
JS动态插入脚本和插入引用外部链接脚本的方法
May 21 Javascript
小程序ios音频播放没声音问题的解决
Jul 11 Javascript
JS获取并处理php数组的方法实例分析
Sep 04 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
Jul 03 jQuery
一篇文章带你使用Typescript封装一个Vue组件(简单易懂)
Jun 05 Javascript
javascript执行环境及作用域详解
May 05 #Javascript
asp.net+jquery.form实现图片异步上传的方法(附jquery.form.js下载)
May 05 #Javascript
Bootstrap嵌入jqGrid,使你的table牛逼起来
May 05 #Javascript
Struts2+jquery.form.js实现图片与文件上传的方法
May 05 #Javascript
使用jquery.form.js实现图片上传的方法
May 05 #Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 #Javascript
浅析JS异步加载进度条
May 05 #Javascript
You might like
php文本转图片自动换行的方法
2013/03/13 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
javascript 正则替换 replace(regExp, function)用法
2010/05/22 Javascript
Extjs NumberField后面加单位实现思路
2013/07/30 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
2016/08/24 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
Angular.JS内置服务$http对数据库的增删改使用教程
2017/05/07 Javascript
javascript如何用递归写一个简单的树形结构示例
2017/09/06 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
微信小程序实现复选框效果
2018/12/28 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
微信小程序开发之获取用户手机号码(php接口解密)
2020/05/17 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
[04:03]辉夜杯主赛事 12月25日RECAP精彩回顾
2015/12/26 DOTA
Python 异常处理的实例详解
2017/09/11 Python
浅析Python数据处理
2018/05/02 Python
Python3如何对urllib和urllib2进行重构
2019/11/25 Python
python中通过pip安装库文件时出现“EnvironmentError: [WinError 5] 拒绝访问”的问题及解决方案
2020/08/11 Python
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
Lookfantastic希腊官网:英国知名美妆购物网站
2018/09/15 全球购物
苹果台湾官网:Apple台湾
2019/01/05 全球购物
乌克兰在线药房:Аптека24
2019/10/30 全球购物
法国滑雪假期的专家:Ski Planet
2019/11/02 全球购物
打架检讨书500字
2014/01/29 职场文书
城市创卫标语
2014/06/17 职场文书
机电专业毕业生求职信
2014/07/01 职场文书
销售顾问工作计划书
2014/08/15 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
交通安全教育心得体会
2016/01/15 职场文书
八年级地理课件资料及考点知识分享
2019/08/30 职场文书
python - asyncio异步编程
2021/04/06 Python
Python利用capstone实现反汇编
2022/04/06 Python