AJAX 上传文件的注意事项
// 异步ajax 回调function doOneUp(lm_file,date)
{
var formData = new FormData();
// 收文日期
formData.append('file',lm_file);
$.ajax({
url: indexUrl+"trademarks/pdfs",
// url: 'http://localhost/public/index.php/home/te/t',
type: "POST",
data: formData,
/**
*必须false才会自动加上正确的Content-Type
*/
contentType: false,
// headers:{'Content-Type':'application/json;charset=utf8',token : jwt},
beforeSend:function(request){ //请求动画
request.setRequestHeader('token',jwt)
},
/**
* 必须false才会避开jQuery对 formdata 的默认处理
* XMLHttpRequest会对 formdata 进行正确的处理
*/
processData: false,
success: function (res) {
console.log(res)
doAllUp()
},
error: function () {
alert("上传失败!");
}
});
}
这就很有意思的一个坑【上述代码是正确的】
坑点现象|: 利用ajax 发送文件 ,如果加上请求头【单指在head 中添加token 】,则后台接收不到form-data 的文件
而换成 beforeSend:function(request){
request.setRequestHeader('token',jwt)
},
却可以。理由比较有意思 ;是因为 传输文件所使用的http 协议不一样
页:
[1]