博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jQuery ajaxFileUpload
阅读量:7123 次
发布时间:2019-06-28

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

今天做图片上传用ajaxFileUpload.js时遇到了一个错误提示:TypeError: $.ajaxFileUpload is not a function,下面给出解决办法!

ajaxFileUpload.js 很多同名的,因为做出来一个很容易。

AjaxFileUpload.js并不是一个很出名的插件,只是别人写好的放出来供大家用,原理都是创建隐藏的表单和iframe然后用JS去提交,获得返回值。

 

下载地址就不贴了,下面直接给源码

jQuery.extend({  createUploadIframe: function (id, uri) {        //create frame         var frameId = 'jUploadFrame' + id;         var iframeHtml = '

其实严格来说TypeError: $.ajaxFileUpload is not a function并不是一个真正的错误,这是jquery的版本问题,这个插件貌似只支持jquery1.4之前的版本,

为了让插件支持更高版本的jquery做了修改,将下列代码加入插件源文件即可

handleError: function (s, xhr, status, e) {          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]);        }    }

插件原本并不支持多图片上传,如果要支持多图片上传,修改如下

//将插件源文件内的这些代码var oldElement = jQuery('#' + fileElementId);var newElement = jQuery(oldElement).clone();jQuery(oldElement).attr('id', fileId);jQuery(oldElement).before(newElement);jQuery(oldElement).appendTo(form);//改成下面这样即可

for(var i in fileElementId){

  var oldElement = jQuery('#' + fileElementId[i]);
  var newElement = jQuery(oldElement).clone();
  jQuery(oldElement).attr('id', fileId);
  jQuery(oldElement).before(newElement);
  jQuery(oldElement).appendTo(form);
}

 修改之后jQuery1.9以上会报错,(a.indexOf不是一个函数)

插件使用方法:

$.ajaxFileUpload([options])

  options参数说明:

1、url            上传处理程序地址。  

2,fileElementId       需要上传的文件域的ID,即<input type="file">的ID ;有多个input标签时,多个文件域的ID需要写成数组形式['file1ID','file2ID']。
3,secureuri        是否启用安全提交,默认为false。 
4,dataType        服务器返回的数据类型。可以为xml,script,json,html。如果不填写,jQuery会自动判断。
5,success        提交成功后自动执行的处理函数,参数data就是服务器返回的数据。
6,error          提交失败自动执行的处理函数。
7,data           自定义参数。这个东西比较有用,当有数据是与上传的图片相关的时候,这个东西就要用到了。
8, type            当要提交自定义参数时,这个参数要设置成post

 

 

最后提示一句,input的name属性一定要写.

转载于:https://www.cnblogs.com/guojikun/articles/6151576.html

你可能感兴趣的文章
智能LED路灯有多种应用功能 将成为智慧城市发展的突破口
查看>>
论大数据对媒体融合的推进作用
查看>>
微软黑科技:DNA存储技术催生方糖大小的数据中心
查看>>
招聘新手段:录段语音来判断求职者是否适合岗位
查看>>
倪光南:大数据安全问题重要性远超数据安全
查看>>
应对网络威胁 有望不再被动“打补丁”
查看>>
老国企如何焕发新势能?致远互联“协同五环”锻造老而弥坚
查看>>
被戴尔收购的EMC宣布明年裁员:人数未定
查看>>
物联网时代MCU 将迎来三大发展趋势
查看>>
解决最后一米信号问题飞鱼星VF-E300全新上市
查看>>
智慧城市安全问题初探
查看>>
打造NFV环境下的专属性能
查看>>
测试用例编写规范
查看>>
SWIFT系统第三家银行曝遭网络劫匪抢走1200万美元
查看>>
Java的GC机制
查看>>
espresso系列3--测试实践
查看>>
espresso基础架构与API分析
查看>>
《Python语言程序设计》——2.15 本章总结
查看>>
《音乐达人秀:Adobe Audition CC实战222例》——实例5 麦克风说话和音乐播放等所有声音都混合录制...
查看>>
TIOBE 9 月编程语言排行榜,新 TIOBE 指数算法
查看>>