无法使用axios发送auth标头

时间:2018-05-24 05:04:32

标签: reactjs http axios

无法使用rest API发送授权标头。得到了' OPTIONS'状态为0的错误。服务器上允许所有标头和选项。服务器是用PHP编写的。

这是我的要求:

axios.post(`${API_URL}users/${23}/profile/main/update`,
    {formData},{
    headers:{ 'Content-Type':'multipart/form-data',
    Authorization:`Bearer ${token}`}
    })

似乎在授权时它不会发送标题。但是,如果我删除授权,它只能保留内容类型 enter image description here

3 个答案:

答案 0 :(得分:0)

尝试发送如下:

var headers = {
  'Content-Type': 'multipart/form-data',
  'Authorization': `Bearer ${token}`
}

axios.post(`${API_URL}users/${23}/profile/main/update`,
{formData}, headers)

尝试使用下面的Ajax调用:

import $ from 'jquery';

$.ajax({
  url:`${API_URL}users/${23}/profile/main/update`,
  processData: false,
  contentType: false,
  data : formData,
  method : "POST",
  headers: {
    "Authorization": `Bearer ${token}`
  }
});

答案 1 :(得分:0)

这应该可以解决问题

axios({
 method: 'POST',
 url:`${API_URL}users/${23}/profile/main/update`,
 headers: { 
    'Content-Type':'multipart/form-data',
    'Authorization':`Bearer ${token}`},
 data: formData
})

参考docs for browser

答案 2 :(得分:0)

我遇到了同样的问题,你可能没有将发送的auth头从你的apache配置传递给你的php应用程序。 你可能需要设置

  

WSGIPassAuthorization On

在虚拟主机配置中

Check this