|
- // 异步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 协议不一样
|
|