Car*_*ven 15 javascript ajax axios
我正在尝试通过我的GET请求中的URL参数传入API密钥.
但是,我注意到Axios在发送请求时会对我的API密钥中的字符进行编码.这导致API拒绝我的请求,因为它无法识别我的密钥.
如何防止Axios编码我的GET参数?
Nic*_*sev 10
您可以使用自定义参数序列化程序,如下所示:
axios.get('https://foobar.com/api', {
paramsSerializer: function(params) {
var result = '';
// Build the query string
return result;
}
});
Run Code Online (Sandbox Code Playgroud)
paramsSerializer 可以在实例级别设置:
var instance = axios.create({ paramsSerializer: function(params) { /* ... */ } })
Run Code Online (Sandbox Code Playgroud)
或在全球范围内:
axios.defaults.paramsSerializer = function(params) { /* ... */ };
Run Code Online (Sandbox Code Playgroud)
另一种选择是直接将api密钥添加到URL:
axios.get('https://foobar.com/api?api_key=' + key);
Run Code Online (Sandbox Code Playgroud)
您可以使用`params'配置选项添加其他参数:
axios.get('https://foobar.com/api?api_key=' + key, {
params: {
foo: 'bar'
}
});
Run Code Online (Sandbox Code Playgroud)