AJAX ------ axios (最热门的AJAX工具库)

简介: AJAX ------ axios (最热门的AJAX工具库)

axios 发送 AJAX请求

点击GET请求

ef2e8e0ff22e4ee0a390a2873798b973.png

a252042170a5413cb70183cb646445b4.png

点击POST请求

41b7632ac76845728b870dff811d0847.png

点击 AJAXe0165697f3f247748f47bfc5b0ea6184.png


0bcf55eb91dc4b89a85c76f50d1bcfd6.png

  1. 创建 server.js 文件
  //1.引入express
  const express = require('express');
  //2.创建应用对象
  const app = express();
  //3.创建路由规则
  //requset是对请求报文的封装
  //response是对相应报文的封装
  app.get('/server', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      // 设置响应体
      response.send('HELLO AJAX GET')
  });
  // all可以接受任意类型的请求
  app.all('/server', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      // 响应头
      response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受
      // 设置响应体
      response.send('HELLO AJAX POST')
  });
  app.all('/json-server', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      // 响应头
      response.setHeader('Access-Control-Allow-Headers','*') //*表示所有类型的头信息都接受
      // 响应一个数据
      const data = {
          name: 'HELLO AJAX JSON2'
      }
      //对对象进行字符串转换
      let str = JSON.stringify(data)
      // 设置响应体
      response.send(str)
  });
  // 针对 IE 缓存
  app.get('/ie', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      // 设置响应体
      response.send('HELLO AJAX IE')
  });
  // 延时响应
  app.all('/delay', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      response.setHeader('Access-Control-Allow-Headers','*')
      setTimeout(() => {
          // 设置响应体
          response.send('HELLO AJAX 延时响应')
      },1000)
  });
  // jQuery 服务
  app.all('/jquery-server', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      response.setHeader('Access-Control-Allow-Headers','*')
      // 设置响应体
      const data = {name:'HELLO jQuery JSON AJAX!'}
      // response.send('HELLO jQuery AJAX!')
      response.send(JSON.stringify(data))
  });
  // axios 服务
  app.all('/axios-server', (request, response)=>{
      // 设置响应头 设置允许跨域
      response.setHeader('Access-Control-Allow-Origin','*') //名字,值
      response.setHeader('Access-Control-Allow-Headers','*')
      // 设置响应体
      const data = {name:'HELLO axios AJAX!'}
      // response.send('HELLO jQuery AJAX!')
      response.send(JSON.stringify(data))
  });
  //4.监听端口启动服务
  app.listen(8000, ()=>{
      console.log("服务已经启动,8000 端口监听中...");
  })
  1. 创建 axios.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 crossorigin="anonymous" src="https://cdn.bootcdn.net/ajax/libs/axios/0.26.0/axios.js"></script>
</head>
<body>
    <button>GET</button>
    <button>POST</button>
    <button>AJAX</button>
    <script>
        const btns = document.querySelectorAll('button')
        // 配置 baseURL
        axios.defaults.baseURL = 'http://127.0.0.1:8000'
        btns[0].onclick = function(){
            // GET 请求
            axios.get('http://127.0.0.1:8000/axios-server',{
                // url 参数
                params:{
                    id: 100,
                    vip: 7
                },
                // 请求头信息
                headers:{
                    name:'Mike',
                    age:20
                }
            }).then(value => {
                console.log(value);
            })
        }
        btns[1].onclick = function(){
            axios.post('/axios-server',{
                    // 请求体
                    username:'admin',
                    password:'admin',
            },{
                // url
                params:{
                    id:200,
                    vip:9
                },
                // 请求头参数
                headers:{
                    height:100,
                    weight:180,
                }
            })
        }
        btns[2].onclick = function(){
            axios({
                // 请求方法
                method:'POST',
                // url
                url: 'axios-server',
                // url参数
                params:{
                    vip:10,
                    level:30
                },
                // 头信息
                headers:{
                    a:100,
                    b:200
                },
                // 请求体参数
                data:{
                    username: 'admin',
                    password: 'admin'
                }
            }).then(response => {
                // console.log(response);
                // 响应状态码
                console.log(response.status);
                // 响应状态字符串
                console.log(response.statusText);
                // 响应头信息
                console.log(response.headers);
                // 响应体
                console.log(response.data);
            })
        }
    </script>
</body>
</html>

不积跬步无以至千里 不积小流无以成江海

相关文章
|
2月前
|
JavaScript 前端开发 API
网络请求库 – axios库
网络请求库 – axios库
198 60
|
1月前
|
XML 前端开发 JavaScript
详解Ajax与axios的区别
详解Ajax与axios的区别
|
1月前
|
XML 前端开发 JavaScript
Ajax&Axios对比
【10月更文挑战第3天】
27 3
|
2月前
|
前端开发
React技术栈-react使用的Ajax请求库实战案例
这篇文章介绍了在React应用中使用Axios和Fetch库进行Ajax请求的实战案例,展示了如何通过这些库发送GET和POST请求,并处理响应和错误。
54 10
React技术栈-react使用的Ajax请求库实战案例
|
2月前
|
前端开发
React技术栈-react使用的Ajax请求库用户搜索案例
这篇文章展示了一个React技术栈中使用Ajax请求库(如axios)进行用户搜索的实战案例,包括React组件的结构、状态管理以及如何通过Ajax请求获取并展示GitHub用户数据。
33 7
React技术栈-react使用的Ajax请求库用户搜索案例
|
2月前
|
JSON 资源调度 JavaScript
Vue框架中Ajax请求的实现方式:使用axios库或fetch API
选择 `axios`还是 `fetch`取决于项目需求和个人偏好。`axios`提供了更丰富的API和更灵活的错误处理方式,适用于需要复杂请求配置的场景。而 `fetch`作为现代浏览器的原生API,使用起来更为简洁,但在旧浏览器兼容性和某些高级特性上可能略显不足。无论选择哪种方式,它们都能有效地在Vue应用中实现Ajax请求的功能。
42 4
|
2月前
|
JSON 前端开发 JavaScript
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
Filter过滤器、Listener监听器、AJAX、 同步、异步优点和使用场景、Axios异步框架、JSON、js和JSON转换、案例,Axios + JSON 品牌列表查询和添加
JavaWeb基础8——Filter,Listener,Ajax,Axios,JSON
|
3月前
|
XML 前端开发 JavaScript
Ajax、Fetch、Axios
Ajax、Fetch、Axios
78 25
|
XML 前端开发 数据格式
发布我的Ajax工具类(myAjax)。可解决UTF-8客户端获取GB2312的服务器端出现的乱码问题
大多数的客户端都采用UTF-8编码,这也是现在实现国际化最常用的编码格式 在这种情况下,实用AJAX异步获取GB2312编码的服务器端信息时,不可避免的要遇到汉字乱码问题 因为目标数据是GB2312,但XMLHttpRequest默认是用UTF-8来进行数据封装的,因此会产生乱码 相信很多人都在用轻量级的JS工具集-prototype.
975 0
|
XML 前端开发 JavaScript
什么是Ajax和jquery
什么是Ajax和jquery
85 0