时间:2021-05-26
今天帮人看代码的时候,遇到一点小问题。使用 jQuery 上传带文件的表单时,会有些问题。
首先,因为使用的是 FormData,所以必须在传入 $.ajax 的参数中配置 processData: false。
否则将会抛出 Illegal invocation 的异常,因为 jQuery 默认是会对传入的 data 字段的数据进行处理的。
官方文档是这么解释的:
其次,注意请求的 Content-Type 首部,默认是 application/x-www-form-urlencoded; charset=UTF-8,也就是我们通常见的 “a=A&b=B” 这种格式。但使用 FormData 时,就不行了。
对参数添加 contentType 字段,将其值设置为 false 即可。如果 jQuery 版本小于 1.6,则手动设置为 multipart/form-data。具体说明请见文档说明:
我以前通常都是使用原生的 XMLHttpRequest,所以倒也没有遇到过这种问题。既然遇到了,就得解决。因此记录下来,以备日后查找。
以上所述是小编给大家介绍的使用 jQuery.ajax 上传带文件的表单遇到的问题,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
jQuery.form.js是一个form插件,支持ajax表单提交和ajax文件上传。最近在使用jquery.form.js提交包含文件的表单时,碰到了一个问
Jquery的$.ajax的用法:jQuery.ajax(options):通过HTTP请求加载远程数据,这个是jQuery的底层AJAX实现。简单易用的高层实
基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上传,上传进行进度显示,删除已上传文件。要求使用jquery1.4或以上版本,flashpl
jQuery的ajax和遍历数组json实例代码jQuery.ajax({type:"POST",url:"server.json",dataType:'jso
如何实现jQuery的Ajax文件上传,PHP如实文件上传.AJAX上传文件,PHP上传文件。【PHP文件上传】在开始之前,我觉得是有必要把通WEB上传文件的原