vue学习--前端交互(四、接口调用-axios用法)
1 axios 的基本特性
axios 是一个基于Promise用于浏览器和node.js的HTTP客户端。
- 支持浏览器和node.js
- 支持Promise
- 能拦截请求和响应
- 自动转换JSON数据
2 axios基本用法
<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> axios.get('http://localhost:3000/adata').then(function(ret){ // 注意data属性是固定的用法,用于获取后台的实际数据 // console.log(ret.data) console.log(ret) }) </script>
3 axios常用API
- get - delete - post - pul
4 axios参数传递
<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> /* axios请求参数传递 */ // axios get请求传参 // axios.get('http://localhost:3000/axios?id=123').then(function(ret){ // console.log(ret.data) // }) // axios.get('http://localhost:3000/axios/123').then(function(ret){ // console.log(ret.data) // }) // axios.get('http://localhost:3000/axios', { // params: { // id: 789 // } // }).then(function(ret){ // console.log(ret.data) // }) // axios delete 请求传参 // axios.delete('http://localhost:3000/axios', { // params: { // id: 111 // } // }).then(function(ret){ // console.log(ret.data) // }) // axios.post('http://localhost:3000/axios', { // uname: 'lisi', // pwd: 123 // }).then(function(ret){ // console.log(ret.data) // }) // var params = new URLSearchParams(); // params.append('uname', 'zhangsan'); // params.append('pwd', '111'); // axios.post('http://localhost:3000/axios', params).then(function(ret){ // console.log(ret.data) // }) // axios put 请求传参 axios.put('http://localhost:3000/axios/123', { uname: 'lisi', pwd: 123 }).then(function(ret){ console.log(ret.data) }) </script>
5 axios的响应结果
主要属性
- data:实际响应回来的数据
- headers:响应头信息
- status:响应状态码
- statusText:响应状态信息
6 axios的全局配置
- axios.defaults.timeout = 3000; //超时时间
- axios.defaults.baseURL = 'http://localhost:3000/app'; // 默认地址
- axios.defaults.headers['mytoken'] = 'hello'; // 配置请求头信息
<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> /* axios 响应结果与全局配置 */ // axios.get('http://localhost:3000/axios-json').then(function(ret){ // console.log(ret.data.uname) // }) // 配置请求的基准URL地址 axios.defaults.baseURL = 'http://localhost:3000/'; // 配置请求头信息 axios.defaults.headers['mytoken'] = 'hello'; axios.get('axios-json').then(function(ret){ console.log(ret.data.uname) }) </script>
7 axios拦截器
<script type="text/javascript" src="js/axios.js"></script> <script type="text/javascript"> /* axios拦截器 */ axios.interceptors.request.use(function(config) { console.log(config.url) config.headers.mytoken = 'nihao'; return config; }, function(err){ console.log(err) }) axios.interceptors.response.use(function(res) { // console.log(res) var data = res.data; return data; }, function(err){ console.log(err) }) axios.get('http://localhost:3000/adata').then(function(data){ console.log(data) }) </script>
本文来自博客园,作者:一纸年华,转载请注明原文链接:https://www.cnblogs.com/nullcodeworld/p/18210668
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)