401关于GET请求的未经授权的错误,是否为CORS问题

时间:2019-04-24 15:37:49

标签: javascript request cors

发送get请求时出现401未经授权错误。我很困惑,因为我可以通过curl或邮递员在终端上发送请求,但不能从代码(本地主机)发送请求

CODE

   const carId = '2F3A228F6F66AEA580'
    var query = 'https://api.mercedes-benz.com/experimental/connectedvehicle/v1/vehicles/'.concat(carId).concat('/doors')

    console.log(query)
    console.log(this.state.access_token)

    var bearer = 'Bearer ' + this.state.access_token

    console.log(bearer)
    const response = await fetch(query, {
      method: 'GET',
      headers: {
        'accept': 'application/json',
        'authorization': bearer
      },
    })

注意:我使用的是相同的access_token

1 个答案:

答案 0 :(得分:2)

  

发送get请求时出现401未经授权的错误。

不,您不是。仔细阅读错误消息。

它表示您是在发出OPTIONS请求,而不是GET请求。

浏览器发出preflight OPTIONS request的原因是您尝试使用authorization标头进行跨域请求。

服务器似乎正在测试OPTIONS请求的授权。失败是因为未授予浏览器发送带有凭据的跨域Ajax请求的权限。