位置: 编程技术 - 正文

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请求参数和返回数据的处理

  • 实收资本印花税最新规定
  • 住宿普通发票怎么做账
  • 转出未交增值税是借方还是贷方
  • 小规模纳税人怎么办理
  • 契税的具体适用税率是多少
  • 小规模纳税人城市维护建设税税率
  • 个税什么情况可以抵扣
  • 加班餐费有发票怎么入账
  • 怎么报企业所得税季报
  • 建筑业企业纳税人税率是多少
  • 旅游服务住宿费入什么科目
  • 外贸企业出口退税账务处理
  • 被财政收回的财政经费如何做财务处理?
  • 收到预付款项发票如何入账?
  • 质量问题产生的影响
  • 医保卡划入账户金额
  • 施工单位给你钱敢领吗
  • 租入生物性资产如何入账
  • 个人安装设备属于劳务吗
  • 专用发票第一次怎么开
  • 如何理解纳税人资格
  • 企业销售净利润较低说明什么
  • 三证合一的税号变了,法人怎么重新绑定企业
  • 物业管理费属于应付账款吗
  • 投资性房地产转为存货
  • 库存商品成本变动率
  • w11系统防火墙
  • 我开了一个物流公司,有人要开发票怎么办
  • 费用确认条件新准则
  • 固定资产进项税额转出怎么做账务处理
  • 公司收回货款会计分录
  • 多系统设置
  • linux vim
  • 存入保证金账户分录怎么写
  • minilauncher是什么
  • php解析html文件
  • 企业类型变更是什么意思
  • 佛法戒律论
  • 自然vc
  • vue如何销毁页面
  • 其他债权投资和持有至到期投资的区别
  • cobit框架
  • qss 设置字体
  • 蓝桥杯大赛官网试题
  • layui 安卓
  • 手把手怎么写
  • vue3快速入门
  • php自加
  • 个税累积税阶
  • 运营级别划分
  • 其他收益算主营业务收入吗
  • 销售鸡蛋免税怎么交税
  • 怎么查是一般纳税人还是小规模
  • 网购报销需要发票和什么截图
  • oracle sql 不等于某个字符
  • 季报现金流量表可以不填吗
  • 以前年度损益调整结转到哪里
  • 外账会计的做账流程
  • 什么是保函保证金
  • 开票金额大于收入金额
  • 支付水电费的会计
  • 企业发生坏账损失时,在当期确认坏账损失
  • 外贸企业退税政策
  • 服务费的进项发票怎么做分录
  • navicat连接mysql时出现1045错误的解决方法
  • centos防火墙策略配置
  • linux telnet用法
  • linux操作系统的基本操作
  • win10打开此电脑的快捷键
  • windows 10 开始菜单
  • shell(bash)下“time” 命令的输出详解
  • css对象
  • python笛卡尔积
  • python的类变量和成员变量
  • Unity3D游戏开发(第2版)
  • js调用键盘
  • jquery监听span内容的变化
  • jquery写下拉框
  • 沧州市养老保险局官网
  • 车辆购置印花税需入固定资产吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设