当前位置:   article > 正文

Ajax学习:Axios发送Ajax请求

axios发送ajax请求

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 

axios (v1.2.0) - Axios 是一个基于 promise 的 HTTP 库,可以用在浏览器和 Node.js 中。 | BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务

防止报警告:crossorigin="anonymous" 

  1. <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/1.2.0/axios.js"></script>
  2. </head>

 

 //服务器设置

  1. app.all('/axios',(requset,response)=>{
  2. response.setHeader('Access-Control-Allow-Origin','*');
  3. response.setHeader('Access-Control-Allow-Headers','*')
  4. const data={name:'张三'};
  5. let str=JSON.stringify(data);//需要转换称为json 否则传递的任然是对象
  6. //setTimeout(()=>{
  7. //设置响应体
  8. response.send(str);//3s之后返回给客户端
  9. //},3000)
  10. })

传递url参数 params GET请求

  1. axios.get('http://127.0.0.1:8000/axios', {
  2. //url参数
  3. params: {
  4. ID: 12345,
  5. a:'asjks'
  6. }
  7. })
  1. <!DOCTYPE html>
  2. <html lang="zh">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <!-- <script src="https://cdn.jsdelivr.net/npm/axios@1.1.2/dist/axios.min.js"></script> -此cdn链接比较慢换成国内的 -->
  9. <script crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/1.2.0/axios.js"></script>
  10. </head>
  11. <body>
  12. <button>GET</button>
  13. <button>POST</button>
  14. <button>AJAX</button>
  15. <script>
  16. const btns = document.querySelectorAll('button');
  17. btns[0].onclick=function(){
  18. //给谁发
  19. axios.get('http://127.0.0.1:8000/axios', {
  20. //url参数
  21. params: {
  22. ID: 12345,
  23. a:'asjks'
  24. }
  25. })
  26. }
  27. </script>
  28. </body>
  29. </html>

 请求头信息

  1. const btns = document.querySelectorAll('button');
  2. btns[0].onclick=function(){
  3. //给谁发
  4. axios.get('http://127.0.0.1:8000/axios', {
  5. //url参数
  6. params: {
  7. ID: 12345,
  8. a:'asjks'
  9. },
  10. //请求头信息
  11. headers:{
  12. a:90,
  13. b:34
  14. }
  15. })
  16. }

 

 


   //baseURL对路径进行简化  axios.default.baseURL='http://127.0.0.1:8000';(注意有请求头 存在两次请求 包含预检请求)

  1. const btns = document.querySelectorAll('button');
  2. //baseURL对路径进行简化
  3. axios.defaults.baseURL='http://127.0.0.1:8000';
  4. btns[0].onclick=function(){
  5. //给谁发
  6. axios.get('/axios', {
  7. //url参数
  8. params: {
  9. ID: 12345,
  10. a:'asjks'
  11. },
  12. //请求头信息
  13. headers:{
  14. a:90,
  15. b:34
  16. }
  17. })
  18. }

数据返回 

  1. //给谁发
  2. axios.get('/axios', {
  3. //url参数
  4. params: {
  5. ID: 12345,
  6. a:'asjks'
  7. },
  8. //请求头信息
  9. headers:{
  10. a:90,
  11. b:34
  12. }
  13. }).then(function(value){
  14. console.log(value)
  15. })

或者变成 

  1. //给谁发
  2. axios.get('/axios', {
  3. //url参数
  4. params: {
  5. ID: 12345,
  6. a:'asjks'
  7. },
  8. //请求头信息
  9. headers:{
  10. a:90,
  11. b:34
  12. }
  13. }).then(
  14. // function(value){
  15. // console.log(value)
  16. // }
  17. value =>{
  18. console.log(value)
  19. }
  20. )
  21. }


 POST请求(请求体请求头设置)

  1. btns[1].onclick = function() {
  2. //给谁发
  3. axios.post('/axios',
  4. //请求体 json格式
  5. {
  6. username: '章',
  7. age: 293
  8. },
  9. { //其他被指
  10. //url参数
  11. params: {
  12. ID: 12345,
  13. name: '张三'
  14. },
  15. //请求头信息
  16. headers: {
  17. a: 90,
  18. b: 34
  19. }
  20. }
  21. )
  22. }

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/578823
推荐阅读
相关标签
  

闽ICP备14008679号