使用 jQuery.ajax 上传带文件的表单遇到的问题


Posted in Javascript onOctober 31, 2016

今天帮人看代码的时候,遇到一点小问题。使用 jQuery 上传带文件的表单时,会有些问题。

首先,因为使用的是 FormData,所以必须在传入 $.ajax 的参数中配置 processData: false。

否则将会抛出 Illegal invocation 的异常,因为 jQuery 默认是会对传入的 data 字段的数据进行处理的。

官方文档是这么解释的:

使用 jQuery.ajax 上传带文件的表单遇到的问题

其次,注意请求的 Content-Type 首部,默认是 application/x-www-form-urlencoded; charset=UTF-8,也就是我们通常见的 “a=A&b=B” 这种格式。但使用 FormData 时,就不行了。

对参数添加 contentType 字段,将其值设置为 false 即可。如果 jQuery 版本小于 1.6,则手动设置为 multipart/form-data。具体说明请见文档说明:

使用 jQuery.ajax 上传带文件的表单遇到的问题

我以前通常都是使用原生的 XMLHttpRequest,所以倒也没有遇到过这种问题。既然遇到了,就得解决。因此记录下来,以备日后查找。

以上所述是小编给大家介绍的使用 jQuery.ajax 上传带文件的表单遇到的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
图片在浏览器中底部对齐 解决方法之一
Nov 30 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
javascript简单判断输入内容是否合法的方法
May 11 Javascript
js中遍历Map对象的方法
Jul 27 Javascript
JS中正则表达式要注意lastIndex属性
Aug 08 Javascript
echarts学习笔记之图表自适应问题详解
Nov 22 Javascript
对vue中v-if的常见使用方法详解
Sep 28 Javascript
jQuery实现左右两个列表框的内容相互移动功能示例
Jan 27 jQuery
js实现图片局部放大效果详解
Mar 18 Javascript
详解VUE调用本地json的使用方法
May 15 Javascript
简单分析js中的this的原理
Aug 31 Javascript
vue动态设置页面title的方法实例
Aug 23 Javascript
微信小程序 开发工具快捷键整理
Oct 31 #Javascript
微信小程序 实现tabs选项卡效果实例代码
Oct 31 #Javascript
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天
Oct 31 #Javascript
jQuery绑定事件的四种方式介绍
Oct 31 #Javascript
JS 实现导航菜单中的二级下拉菜单的几种方式
Oct 31 #Javascript
JS中作用域和变量提升(hoisting)的深入理解
Oct 31 #Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 #Javascript
You might like
PHP实现加密的几种方式介绍
2015/02/22 PHP
php简单实现单态设计模式的方法分析
2017/07/28 PHP
PHP ob缓存以及ob函数原理实例解析
2020/11/13 PHP
一段好玩的JavaScript代码
2006/12/01 Javascript
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
jQuery事件绑定和委托实例
2014/11/25 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
javascript学习指南之回调问题
2016/04/23 Javascript
基于jQuery的Web上传插件Uploadify使用示例
2016/05/19 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
详解Vue中localstorage和sessionstorage的使用
2017/12/22 Javascript
vue-quill-editor+plupload富文本编辑器实例详解
2018/10/19 Javascript
Python多进程通信Queue、Pipe、Value、Array实例
2014/11/21 Python
分享python数据统计的一些小技巧
2016/07/21 Python
Python中循环引用(import)失败的解决方法
2018/04/22 Python
Django Admin实现三级联动的示例代码(省市区)
2018/06/22 Python
使用python获取(宜宾市地震信息)地震信息
2019/06/20 Python
Python OrderedDict的使用案例解析
2019/10/25 Python
Python函数的迭代器与生成器的示例代码
2020/06/18 Python
python 下载文件的几种方法汇总
2021/01/06 Python
Python实现一个论文下载器的过程
2021/01/18 Python
HTML5-WebSocket实现聊天室示例
2016/12/15 HTML / CSS
全球最大的在线旅游公司:Expedia
2017/11/16 全球购物
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
珍惜资源保护环境的建议书
2014/05/14 职场文书
自动化专业毕业生求职信
2014/06/18 职场文书
公司门卫工作职责
2014/06/28 职场文书
介绍信样本
2015/01/31 职场文书
酒店仓管员岗位职责
2015/04/01 职场文书
夏洛特的网观后感
2015/06/15 职场文书
宿舍管理制度范本
2015/08/07 职场文书
Matplotlib绘制混淆矩阵的实现
2021/05/27 Python
讨论nginx location 顺序问题
2022/05/30 Servers
python 使用pandas读取csv文件的方法
2022/12/24 Python