axios、jquery及原生ajax对比
原生ajax
//创建异步对象 var xhr = new XMLHttpRequest(); //设置请求基本信息,并加上请求头 xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xhr.open('post', 'test.php' ); //发送请求 xhr.send('name=Lan&age=18'); xhr.onreadystatechange = function () { // 这步为判断服务器是否正确响应 if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } };
jqueryAjax
var loginBtn = document.getElementsByTagName("button")[0]; loginBtn.onclick = function(){ ajax({ type:"post", url:"test.php", data:"name=lan&pwd=123456", success:function(data){ console.log(data); } }); }
fetch
fetch('http://www.mozotech.cn/bangbang/index/user/login', { method: 'post', headers: { 'Content-Type': 'application/x-www-form-urlencoded' }, body: new URLSearchParams([ ["username", "Lan"],["password", "123456"] ]).toString() }) .then(res => { console.log(res); return res.text(); }) .then(data => { console.log(data); })
axios
axios({ method: 'post', url: '/abc/login', data: { userName: 'Lan', password: '123' } }) .then(function (response) { console.log(response); }) .catch(function (error) { console.log(error); });
同时发起多个请求:
对比
-
几种方式的对比
ajax:
【优点:局部更新;原生支持】
【缺点:可能破坏浏览器后退功能;嵌套回调】
jqueryAjax:
【在原生的ajax的基础上进行了封装;支持jsonp】
fetch:
【优点:解决回调地狱】
【缺点:API 偏底层,需要封装;默认不带Cookie,需要手动添加; 浏览器支持情况不是很友好,需要第三方的ployfill】
axios:
【几乎完美】 -
axios
的特点
支持浏览器和node.js
支持promise
能拦截请求和响应
能转换请求和响应数据
能取消请求
自动转换JSON数据
浏览器端支持防止CSRF(跨站请求伪造)
作者:豆浆牛奶宝宝
链接:https://www.jianshu.com/p/d771bbc61dab
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
2019-01-16 Spring Security教程之Jsp标签(八)
2019-01-16 Spring Security教程之加点密,加点盐(七)
2019-01-16 对称加密与非对称加密,及Hash算法
2019-01-16 Spring Security教程之整合SpringMVC(六)
2019-01-16 springmvc返回jsp源代码解决办法