赞
踩
Axios:是发送ajax请求的工具包:
在nodejs中发送请求、支持promise(ES6推出的异步编程的解决方案)、拦截器机制、数据转换、取消请求、自动转换json,安全防护
https://github.com/axios/axios
可以使用各种方法安装:本例使用cdn
第一行:
发送ajax请求()
<!-- <script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script> -此cdn链接比较慢换成国内的 -->
使用bootcdn的cdn
防止报警告:crossorigin="anonymous"
- <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/1.2.0/axios.js"></script>
- </head>
//服务器设置
- app.all('/axios',(requset,response)=>{
- response.setHeader('Access-Control-Allow-Origin','*');
- response.setHeader('Access-Control-Allow-Headers','*')
- const data={name:'张三'};
- let str=JSON.stringify(data);//需要转换称为json 否则传递的任然是对象
- //setTimeout(()=>{
- //设置响应体
- response.send(str);//3s之后返回给客户端
- //},3000)
- })
传递url参数 params GET请求
- axios.get('http://127.0.0.1:8000/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- }
- })
- <!DOCTYPE html>
- <html lang="zh">
- <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>Document</title>
- <!-- <script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script> -此cdn链接比较慢换成国内的 -->
- <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/1.2.0/axios.js"></script>
- </head>
- <body>
- <button>GET</button>
- <button>POST</button>
- <button>AJAX</button>
- <script>
- const btns = document.querySelectorAll('button');
- btns[0].onclick=function(){
- //给谁发
- axios.get('http://127.0.0.1:8000/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- }
- })
-
- }
- </script>
- </body>
- </html>
请求头信息
- const btns = document.querySelectorAll('button');
- btns[0].onclick=function(){
- //给谁发
- axios.get('http://127.0.0.1:8000/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- },
- //请求头信息
- headers:{
- a:90,
- b:34
- }
- })
-
- }
//baseURL对路径进行简化 axios.default.baseURL='http://127.0.0.1:8000';(注意有请求头 存在两次请求 包含预检请求)
- const btns = document.querySelectorAll('button');
- //baseURL对路径进行简化
- axios.defaults.baseURL='http://127.0.0.1:8000';
- btns[0].onclick=function(){
- //给谁发
- axios.get('/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- },
- //请求头信息
- headers:{
- a:90,
- b:34
- }
- })
-
- }
数据返回
- //给谁发
- axios.get('/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- },
- //请求头信息
- headers:{
- a:90,
- b:34
- }
- }).then(function(value){
- console.log(value)
- })
或者变成
- //给谁发
- axios.get('/axios', {
- //url参数
- params: {
- ID: 12345,
- a:'asjks'
- },
- //请求头信息
- headers:{
- a:90,
- b:34
- }
- }).then(
- // function(value){
- // console.log(value)
- // }
- value =>{
- console.log(value)
- }
- )
-
- }
POST请求(请求体请求头设置)
- btns[1].onclick = function() {
- //给谁发
- axios.post('/axios',
- //请求体 json格式
- {
- username: '章',
- age: 293
- },
- { //其他被指
- //url参数
- params: {
- ID: 12345,
- name: '张三'
- },
- //请求头信息
- headers: {
- a: 90,
- b: 34
- }
-
- }
- )
-
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。