"Axios is a promise-based HTTP Client for node.js and the browser. It is isomorphic (= it can run in the browser and nodejs with the same codebase). On the server-side it uses the native node.js http module, while on the client (browser) it uses XMLHttpRequests."
—https://axios-http.com/docs/intro
Axios是一个基于Promise的node.js和浏览器的HTTP客户端。它是同构的(即可以在浏览器和node.js中使用相同的代码库)。在服务器端,它使用原生的node.js http模块,而在客户端(浏览器)则使用XMLHttpRequests。
对于发送get请求,axios中可以有下面几种方式:
1、axios(config) (建议使用)
举例:
axios({
method: 'get',
url: '/fund/info',
params: {
fundId: "000001",
type: "bond"
}
});
2、axios(url) || axios(url[, config]) (不建议使用)
说明:未指定方法,请求将默认为GET方法。
举例:
axios('/user/info');
axios('/management/doc', {
responseType: "blob",
timeout: 8000,
params: {
id: "abc123"
}
});
3、axios.get(url) || axios.get(url[, config]) (建议使用)
举例:
axios.get('/fund/basicInfo', {
params: {
fundId: "abc123"
}
});
4、axios.request(config) (不建议使用)
举例:
axios.request({
method: 'get',
url: "/management/doc"
responseType: "blob",
timeout: 8000,
params: {
id: "abc123"
}
});
以上四种方式都是可行的,建议在1、3中选择一种,最好项目整体都选用同一种,保持一致性。
上面各种方式的params最终都会变成url中的query参数
例如:
axios.get('/fund/info, {
params: {
fundId: "000001",
type: "bond"
}
});
最终发送的请求是 /fund/info?fundId=abc123&type=bond
在params中key存在,但value为null或undefined的参数不会在URL中显示。
例如:
axios.get('/fund/info, {
params: {
fundId: "000001",
type: undefined
}
});
最终发送的请求是 /fund/info?fundId=abc123
同步更新到自己的语雀
https://www.yuque.com/dirackeeko/blog/dnlygqwhft5qr1rm