我正在尝试从需要特定 header 设置API密钥的外部API(来自Mashape)中获取一些数据。

使用jQuery一切都很好:

$.ajax({
    url: 'https://omgvamp-hearthstone-v1.p.mashape.com/cardbacks',
    type: 'GET',
    data: {},
    dataType: 'json',
    success: function(data) { console.dir((data.source)); },
    error: function(err) { alert(err); },
    beforeSend: function(xhr) {
    xhr.setRequestHeader("X-Mashape-Authorization", "MY_API_KEY");
    }
});


但是,当我尝试使用axios对React应用程序执行相同的请求时,出现404错误:

axios.get({
  url: 'https://omgvamp-hearthstone-v1.p.mashape.com/cardbacks',
  headers: {
      "X-Mashape-Authorization": "MY_API_KEY"
   }
 })


我有什么想念的吗?谢谢。

最佳答案

也可以尝试这样做而不设置默认值:

axios.get('https://omgvamp-hearthstone-v1.p.mashape.com/cardbacks', {
      headers: { "X-Mashape-Key": "MY_API_KEY" }
    })
      .then((resp) => {
        console.dir(resp);

      })
      .catch(err => {
        console.log(err);
      });
  }

它应该工作。

PS我还观察到您在问题(X-Mashape-Authorization)和答案(X-Mashape-Key)中使用了不同的标题键。也许这也与404错误有关?

07-24 19:17