# ajax&axios&fetch
# ajax
  $.ajax({
    type:'POST',
    url:url,
    data:data,
    dataType:dataType,
    success:function(){},
    error:function(){}
  });
 1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
- 缺点:
- 是针对MVC的编程,不符合MVVM
 - 基于原生XHR开发,XHR的架构不清晰
 - JQ整个项目太大,单纯使用ajax要引入整个JQ不合理
 
 
# axios
  axios({
    method:'post',
    url:'/user/111',
    data:{
      name:'xxx'
    }
  }).then((response)=>{
    console.log(response)
  }).catch((error)=>{
    console.log(error);
  })
 1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
- 优点:
- 支持promise API
 - 自动转换JSON数据
 - 从node.js发出HTTP请求
 - 客户端支持防止CSRF/XSRF
 
 
# fetch
  fetch('/bar').then((response)=>{
    response.text()
  },(err)=>{
    console.log(err)
  })
 1
2
3
4
5
2
3
4
5
  try{
    let response=await fetch('/bar');
    let data=response.json()
  } catch(e){
    console.log(e)
  }
 1
2
3
4
5
6
2
3
4
5
6