axios的get和post请求

项目用到axios,记录下简单用法

1.普通get请求

axios.get('http://127.0.0.1:8080/test/delUser?userId='+id)
      .then((response) => {
        console.log(response.data);//请求的返回体
      })
      .catch((error) => {
        console.log(error);//异常
      });

参数传递也可以这样写

 axios.get('http://127.0.0.1:8080/test/delUser',{
        params: {
          userId: id,
        }
      })
      .then((response) => {
        console.log(response.data);//请求的返回体
      })
      .catch((error) => {
        console.log(error);//异常
      });

2.post请求写法

 axios.post('http://127.0.0.1:8080/test/login', {
            name: "admin",
            pwd: "123456"
          })
          .then(function (response) {
            console.log(response);
          })
          .catch(function (error) {
            console.log(error);
          });

这时候的post请求使用这这种请求,Spring MVC中直接@RequestParam 接收参数是接受不到的打开浏览器开发者工具会发现Request-Headers的Content-Typeapplication/json;charset=UTF-8如果不想使用application/json的解决方式:
          let param = new URLSearchParams();//使用URLSearchParams传参数
          param.append("name", "admin");
          param.append("pwd", "123456");
          axios.post('http://127.0.0.1:8080/test/login',param)
          .then(function (response) {
            console.log(response);
          })
          .catch(function (error) {
            console.log(error);
          });

3.一次性并发多个请求

function getListOne(){
  return axios.get('http://127.0.0.1:8080/test/getListOne');
}
function getListTwo(){
  return axios.get('http://127.0.0.1:8080/test/getListOne');
}
axios.all([getListOne(),getListTwo()])
  .then(axios.spread(function(acct,perms){
    //两个请求都成功触发这个函数,两个参数代表两次请求返回的结果
  }))

4.PS:axios不支持同步请求,可以使用请求成功之后再操作的方式代替同步请求

你可能感兴趣的:(前端)