我在VueJS应用程序中使用Axios,我想在请求中添加默认的GET参数。我通过URL ?api-key=secret
发送API-KEY,但我不想每次都指定此参数。
我在文档中看到可以设置Global custom defaults。这样,我们不必每次都指定标题。但是我们可以为获取参数做同样的事情吗?
答案 0 :(得分:3)
这里是:
axios.defaults.params = {}
axios.defaults.params['api-key'] = secret
答案 1 :(得分:0)
如果需要在每个axios请求之前调用一个函数,则应使用拦截器。
答案 2 :(得分:0)
我很难通过两种最常用的建议方法使它与axios实例一起使用:
axios.defaults.params = {}
axios.defaults.params['api-key'] = secret
并使用params
属性:
const axClient = axios.create({
baseURL: process.env.VUE_APP_BASE_URL,
params: {
api-key: process.env.VUE_APP_API_KEY
}
});
我确实使用这样的拦截器设法使其正常工作:
const axClient = axios.create({
baseURL: process.env.VUE_APP_BASE_URL,
});
axClient.interceptors.request.use((config) => {
config.params = config.params || {};
config.params['api-key'] = process.env.VUE_APP_API_KEY;
return config;
});