Axios 是一个基于 promise 的网络请求库,可以用于浏览器和 node.js。Axios 使用简单,包尺寸小且提供了易于扩展的接口。
调用
直接使用github仓库里的<script src="[https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>](https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>)
但这个链接是在国外,访问起来会比较慢。
可以用bootcdn的<script src="[https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>](https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script>)
直接调用浏览器可能会有警告,可以在上面代码中添加_crossorigin_="anonymous"。具体原理暂不掌握。
直接发送AJAX请求
server.js
//axios服务app.all('/axios-server',(request, response)=>{response.setHeader("Access-Control-Allow-Origin","*");response.setHeader("Access-Control-Allow-Headers","*");const data = {name: 'Axiosdataname',}response.send(JSON.stringify(data));})
html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>axios 发送 AJAX 请求</title><script src="https://cdn.bootcdn.net/ajax/libs/axios/0.21.1/axios.js"></script></head><body><button>GET</button><button>POST</button><button>AJAX</button><script>const btns = document.querySelectorAll("button");//配置 baseURLaxios.defaults.baseURL = 'http://127.0.0.1:8000';//设置完,下面*就不用写前面那一串了btns[0].onclick = function(){axios.get('/axios-server',{//*//urlparams:{id:100,vip:7},//请求头信息headers:{name:"axiosName",age:18}}).then(value=>{console.log(value);});}btns[1].onclick = function(){//注意axios post的参数(url,data,config),可以去看文档axios.post('/axios-server',{//请求体username:"admin",password:"adminPassword"},{//urlparams:{id:200,vip:9},//请求头参数headers:{height:100,weight:180}});}</script></body></html>
//配置 baseURLaxios.defaults.baseURL = 'http://127.0.0.1:8000';//设置完,下面*就不用写前面那一串了
函数发送AJAX请求
<body><button>GET</button><button>POST</button><button>AJAX</button><script>.........btns[2].onclick = function(){// console.log(this);axios({//请求方法,不加默认是getmethod:'POST',//urlurl:'/axios-server',//url参数params:{vip:10,level:30},//头信息headers:{a:100,b:200},//请求体参数data:{username:'admin',password:'adminpassword'}}).then(response=>{// console.log(response);//响应状态码console.log(response.status);//响应状态字符串console.log(response.statusText);//响应头信息console.log(response.headers);//响应体console.log(response.data);})}</script></body>
axios 函数调用发送请求之后 返回的 就是一个 promise 实例
