Ajax和Axios之间的关系

先看看介绍:
Ajax:
Ajax即Asynchronous Javascript And XML(异步JavaScript和XML),是基于JQuery封装好的一种便捷的Web数据交互的技术, 使用Ajax技术网页应用能够快速地将增量更新呈现在用户界面上,而不需要重载(刷新)整个页面。
Ajax和Axios之间的关系_第1张图片
其重点在于异步这个功能上,理解了异步就理解了Ajax。
Axios:
Axios是一个基于promise的http库,作用于node.js和浏览器中,它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。axios本质上也是对原生XHR的封装,只不过它是Promise的实现版本。
由此可见:
两者其实并没有太大的区别,axios较新,Ajax较老,在代码语法上也大致相同,掌握了一种,另一种也都能看懂。
jQuery 将XHR进行了封装 变成了 ajax , 而 通过 promise 又把 ajax 进行封装就成了 axios。
看看语法就能明白(依post请求为例,有好几种写法,我只写了一种),语法很类似:
Ajax:

$.ajax({
        type:"POST",
        url:"/xxx/wwww",
        contentType: "application/json", 
        dataType:"json",
        data:这里写请求参数
        success:function (data) {
 				//处理返回的data数据
        }
    })
})

Axios:

axios.post('/user/xxxx', {
    user: '123',
    name: '2333'
  })
  .then(function (response) {
  //处理返回数据
    console.log(response);
  })
  .catch(function (error) {
  //处理异常
    console.log(error);
  });

我个人还是比较喜欢使用Ajax,主要是以前用的是Jquery,用的多,习惯了。至于对Ajax最主要的批评就是,它可能破坏浏览器的后退与加入收藏书签功能。但我们一般开发的项目基本都不用考虑该项功能,所以这种批评也都是扯蛋。
但随着技术的逐步发展,现在很多都是VUE开发,一般都是要求使用Axios,那就接受命运吧,生命不止,学习不止。

加油吧!天选打工人

你可能感兴趣的:(web端,ajax,javascript,前端,Axios,xhr)