"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


DiracKeeko
125 声望2 粉丝