博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ajax上传文件的请求
阅读量:5773 次
发布时间:2019-06-18

本文共 879 字,大约阅读时间需要 2 分钟。

1、data是FormData

发送的data必须是FormData类型

2、注意processData

把processData设为false,让jquery不要对formData做处理,如果processData不设置为false,jquery会把formData转换为字符串。

3、contentType

查看文件上传的请求头里Content-Type: multipart/form-data; boundary=OCqxMF6-JxtxoMDHmoG5W5eY9MGRsTBp ,参数boundary为请求参数之间的界限标识。

这里的Content-Type不是你设置的,而是FormData的content-type。

如果jquery请求设置了contentType,那么就会覆盖了formData的content-type,导致服务器在分隔参数和文件内容时是找不到boundary,报no multipart boundary was found错误

默认情况下jquery会把contentType设置为application/x-www-form-urlencoded。要jquery不设置contentType,则需要把contentType设置为false。

也就是说contentType:false,防止contentType覆盖掉formData的content-type。

4、example

var data=new FormData();$.each(files,function (i, file) {    data.append("file",file);});$.ajax({url:'',        type:'post',        contentType:false,        processData:false,        data:data,        success:function () {            console.log("111");        }});

转载地址:http://wzoux.baihongyu.com/

你可能感兴趣的文章
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Visio中如何让重叠图形都显示
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>
Android BlueDroid(一):BlueDroid概述
查看>>
Java利用httpasyncclient进行异步HTTP请求
查看>>
循环多少次? 【杭电--HDOJ-1799】 附题+具体解释
查看>>
linux系统终端命令提示符设置(PS1)记录
查看>>
C++运算符重载
查看>>
【Web】URI和URL,及URL的编码
查看>>
宿舍局域网的应用
查看>>
html代码究竟什么用途
查看>>