使用 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 相关文章推荐
Notify - 基于jquery的消息通知插件
Oct 18 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
Nov 25 Javascript
实现图片预加载的三大方法及优缺点分析
Nov 19 Javascript
jQuery源码解读之addClass()方法分析
Feb 20 Javascript
如何用jQuery实现ASP.NET GridView折叠伸展效果
Sep 26 Javascript
JavaScript中的return语句简单介绍
Dec 07 Javascript
微信小程序 基础知识css样式media标签
Feb 15 Javascript
Nuxt v-bind绑定img src不显示的解决
Dec 05 Javascript
微信小程序如何获取地址
Dec 24 Javascript
vue开发中遇到的问题总结
Apr 07 Javascript
jquery实现异步文件上传ajaxfileupload.js
Oct 23 jQuery
JavaScript实现前端网页版倒计时
Mar 24 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的开合式多级菜单程序
2006/10/09 PHP
php 异常处理实现代码
2009/03/10 PHP
PHP图片等比例缩放生成缩略图函数分享
2014/06/10 PHP
php判断两个日期之间相差多少个月份的方法
2015/06/18 PHP
Yii2.0高级框架数据库增删改查的一些操作
2015/11/16 PHP
Smarty变量用法详解
2016/05/11 PHP
php版微信公众平台之微信网页登陆授权示例
2016/09/23 PHP
PHP命名空间namespace的定义方法详解
2017/03/29 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
基于jquery的模态div层弹出效果
2010/08/21 Javascript
JavaScript运算符小结
2015/06/03 Javascript
浅析javascript函数表达式
2016/02/10 Javascript
js实现不重复导入的方法
2016/03/02 Javascript
vuejs在解析时出现闪烁的原因及防止闪烁的方法
2016/09/19 Javascript
基于javascript实现按圆形排列DIV元素(一)
2016/12/02 Javascript
jQuery基于ajax方式实现用户名存在性检查功能示例
2017/02/10 Javascript
Vue 2.x教程之基础API
2017/03/06 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
微信小程序wepy框架学习和使用心得详解
2019/05/24 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python标准日志模块logging的使用方法
2013/11/01 Python
python利用多种方式来统计词频(单词个数)
2019/05/27 Python
python函数参数(必须参数、可变参数、关键字参数)
2019/08/16 Python
如何利用Python识别图片中的文字
2020/05/31 Python
python2和python3哪个使用率高
2020/06/23 Python
python3.7添加dlib模块的方法
2020/07/01 Python
使用html5 canvas创建太空游戏的示例
2014/05/08 HTML / CSS
《玩具柜台前的孩子》教学反思
2014/02/13 职场文书
党员创先争优公开承诺书
2014/03/28 职场文书
法学专业毕业生求职信
2014/06/12 职场文书
金融与证券专业求职信
2014/06/22 职场文书
党员干部群众路线个人整改措施
2014/09/18 职场文书
火烧圆明园的观后感
2015/06/03 职场文书
天气温馨提示语
2015/07/14 职场文书