位置: 编程技术 - 正文

jQuery+formdata实现上传进度特效遇到的问题

编辑:rootadmin

推荐整理分享jQuery+formdata实现上传进度特效遇到的问题,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

总结我做HTML5文件上传插件遇到的技术问题

先贴上源码:fileupload-html5.js(PS:公司使用seajs框架)

问题列表

1. JQUERY.AJAX没有监听上传进度的ONPROGRESS事件。

2. XMLHTTPREQUEST(XHR)跨域

问题解答

1. JQUERY没有给出ONPROGRESS事件的接口,必须从其他接口中找到原生XHR对象。

jQuery.ajax()返回的是jqXHR对象。jqXHR模仿XHR(原生),但没有模仿实现XHR的所有方法和属性(如:.upload),即使jqXHR增加了一个特有方法(如:.promise())。所以jqXHR并不是XHR的超集。

XHR的upload属性指向XMLHttpRequestUpload(IE是XMLHttpRequestEventTarget),该对象的onprogress事件可以监听上传进度。既然jQ没有给出这个功能的api,但jQ某些数据上传方式是使用XHR的,所以我们可以从其它api中找到XHR。在XHR发送数据之前绑定onprogress事件可以实现上传进度功能。

jQuery+formdata实现上传进度特效遇到的问题

我从OPTIONS参数配置中找到两个与XHR有关的属性:

- XHR:回调创建XMLHTTPREQUEST对象。

xhr()返回值是XHR,提供给jQ使用,即发送数据就是用这个XHR。我们可以通过xhr创建一个回调函数覆盖它,同样返回XHR,但在此绑定onprogress事件。

所以我们应该这样做:

- XHRFIELDS:一对“文件名-文件值”组成的映射,用于设定原生的 XHR对象。

xhrFields属性指向jQ内部创建的XHR,我们可以根据xhrFields获得XMLHttpRequest。由于xhrFields的值只能是json对象,所以不能以下面方式获取。

我们可以借助XHR的onsendstart事件,如下:

2. XMLHTTPREQUESTⅡ(XHR)支持跨域,但需要后台允许。

根据后台给的接口,我需要增加一个参数cros。但我将这个参数与文件同事提交,却提示跨域限制。最后将这个参数放在url才行。

原来XHR跨域是有两次请求的,第一次是验证请求,浏览器根据请求目的地址自动发出options请求。若通过,才能发出自定义的post请求。所以将参数放在post请求里,第一次请求没有cros参数,即不能通过。

浅析jQuery Ajax请求参数和返回数据的处理 刚接触学会用jQueryajax的时候,觉得真东西好神奇,这样就可以把数据取回来了啊。然后我可以把取回来的数据渲染到页面上,一颗赛艇。之前很早接触

jQuery实现验证年龄简单思路 这段代码假定环境是一个ID为age-form的form,三个ID分别为day,month,year。$("#age-form").submit(function(){varday=$("#day").val();varmonth=$("#month").val();varyear=$("#year").val(

jQuery使用contains过滤器实现精确匹配方法详解 本文实例讲述了jQuery使用contains过滤器实现精确匹配的方法。分享给大家供大家参考,具体如下::contains选择器选取包含指定字符串的元素。该字符串可

标签: jQuery+formdata实现上传进度特效遇到的问题

本文链接地址:https://www.jiuchutong.com/biancheng/382997.html 转载请保留说明!

上一篇:JQuery EasyUI的使用(jquery easy ui)

下一篇:浅析jQuery Ajax请求参数和返回数据的处理

  • 城建税计算方法有哪些
  • 库存股是什么科目的备抵
  • 纳税人的住房租金专项附加扣除标准有
  • 不动产融资租赁税率是多少
  • 收回已转销的坏账在借方还是贷方
  • 土地出让交增值税多少
  • 现金折扣税务筹划
  • 房地产土地增值税的算法
  • 缴纳土地增值税
  • 增值税汇总纳税政策文件
  • 广告公司对外捐赠的会计处理怎么做?
  • 小型企业缴纳企业所得税
  • 软件公司购进软件会计科目
  • 库存生产用钢材属于什么会计科目类别
  • 软件企业涉税风险分析
  • 单位固定资产出售账务处理
  • 未在规定期限内发出追索通知
  • 房产交易会涉及哪些费用
  • 其他综合收益是什么类科目
  • 装卸增值税税率最新的
  • 公司购买理财产品的收益计入什么科目
  • 土地出让金返还流程
  • 增值税清卡失败f50006
  • 营业外支出汇算清缴调增填哪
  • 无法取得房地产原值怎么缴纳房产税?
  • 企业发生的亏损不一定会导致所有者权益减少
  • 待抵扣进项税额是二级还是三级
  • 增值税怎么填表
  • 可以用鸿蒙系统的手机
  • 域名解析错误怎么解决mac
  • mom.exe是什么进程
  • php字符串定义的三种方式
  • php使用memcache
  • 企业租赁房屋怎么开发票
  • 绿萝怎么修剪才能更旺盛
  • php自定义函数的语法格式
  • 成本结转的科目
  • 赠与房屋再次出售税费
  • 巴芬岛旅游
  • 建造师与建筑师的区别详解
  • 固定资产转卖会亏本吗
  • XGboost算法预测股价模型
  • 集团公司对子公司的内部审计
  • 暂估的会计处理
  • 长期挂账的"其他应收款"该怎么处置
  • 免税农产品发票需要勾选吗
  • 费用什么情况下要写报销单呢
  • 银行本票与银行汇票的区别之一是
  • 企业所得税几种税率
  • 个税专项附加扣除什么意思
  • 预付款项核销
  • 财付通支付备付金
  • 公司的房租发票怎么记账
  • 建筑业发票可以抵扣制造业进项
  • 固定资产应计入什么账户
  • 工程施工和工程造价哪个好
  • MySQL 5.7.14 net start mysql 服务无法启动-“NET HELPMSG 3534” 的奇怪问题
  • windows开始菜单在哪里
  • 硬盘 bios
  • 全自怎么安装方法
  • avc用什么打开
  • win10如何关闭windows defender实时保护
  • win10开始菜单在哪
  • ubuntu20.04安装samba
  • linux如何打包tar.gz
  • pdv是什么格式文件
  • linux服务器dns配置安装
  • 游戏新手引导架构
  • dos命令检测硬盘坏道
  • android工程目录
  • python递归函数详解
  • JavaScript mapreduce工作原理简析
  • javascript入门教程
  • node js require
  • 加油的电子发票在手机哪里
  • 上海国家税务局官网发票查验平台
  • 税控盘如何下载驱动程序及安全控件
  • 云南国税app
  • 浙江省打造先行省
  • 合伙企业所得税账务处理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设