代码之家  ›  专栏  ›  技术社区  ›  Konstantin

无法使用axios发送身份验证标头

  •  1
  • Konstantin  · 技术社区  · 8 年前

    无法使用rest API发送授权标头。出现状态为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 回复  |  直到 8 年前
        1
  •  2
  •   illiteratewriter    8 年前

    这应该能奏效

    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
  •   Himanshu Pandey    8 年前

    请尝试按以下方式发送:

    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}`
      }
    });
    
        3
  •  0
  •   supra28    8 年前

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

    WSGIPassAuthorization On

    在virtualhost配置中。

    Check this

    推荐文章