我正在使用 axios.create() 传入一个 baseURL 和一些像这样的默认查询参数
axios.create({
baseURL: 'http://somebigurlhere',
params: {
part: 'part',
maxResults: 5,
key: 'key'
}
});
Run Code Online (Sandbox Code Playgroud)
当我使用
axios.get('/search', {
params: {
q: 'word'
}
});
Run Code Online (Sandbox Code Playgroud)
默认参数不会在 GET 调用中合并。
我得到的是
http://somebigurlhere/search?q=word
代替
http://somebigurlhere/search?part=part&maxResults=5&key=key&q=asd
我尝试以许多其他方式放置配置,但它仍然不起作用。我在这里做错了吗?
我在其他项目中尝试过同样的方法,它在那里工作。刚刚用 create-react-app 创建了一个新的反应应用程序,这似乎不再起作用了。
我正在尝试从外部API(来自Mashape)获取一些数据,这些数据需要特定的标头来设置API密钥.
使用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");
}
});Run Code Online (Sandbox Code Playgroud)
但是,当我尝试使用axios为反应应用程序执行相同的请求时,我遇到404错误:
axios.get({
url: 'https://omgvamp-hearthstone-v1.p.mashape.com/cardbacks',
headers: {
"X-Mashape-Authorization": "MY_API_KEY"
}
})Run Code Online (Sandbox Code Playgroud)
有什么我想念的吗?谢谢.