axios应用FormData推送主要参数/提交照片后台管理接

axios应用FormData推送主要参数/提交照片后台管理接受不上? 2018八月21日15:22:46 2

共享一个axios深坑,碰到一个前端开发朋友应用axios去做照片提交作用时发觉后端开发拿不上数据信息,并且要是应用了FormData方法开展传参,在访问器中一概看不到一切主要参数,而应用Jquery是沒有难题的。

axios使用FormData发送参数/上传图片后台接收不到?

一直认为缘故是由于Jq和axios中的传参方式默认设置全是json方法而FormData其实不是json方法,在恳求的头中能看到。可是大家在axios中设定了恳求头Content-Type:multipart/form-data仍然沒有一切实际效果,在访问器HTTP头顶部依然默认设置是json文件格式,没法更改他的恳求头顶部。

axios使用FormData发送参数/上传图片后台接收不到?

后边发觉缘故是由于在axios源代码中存有那么一段编码


if (utils.isFormData(requestData)) {  delete requestHeaders['Content-Type']; // Let the browser set it}

含意是FormData的数据信息不用设定header头。

后边发觉真实的难题其实不是header头的难题造成的,只是必须设定成那样


 const instance=axios.create({  withCredentials: true }) instance.post('ecp/peiapi/uploadDeliveryImg.json', formData) .then(response = { console.log(response.data) })

由于涉及到到跨域因此必须携带凭据,而最坑的是在axios官方网汉语文本文档上都搜不上,实际为何必须携带凭据才能够开展form-data传参时尚博主都没有想搞清楚。

注: ess-Control-Allow-Credentials: true;ess-Control-Allow-Origin的值不可以为星号,务必就是指定的域,不然cookie等验证信息内容也是推送不上。

一点PHP,一点技术性共享。