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>

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

相关文章
|
8天前
|
JSON 前端开发 JavaScript
axios请求成功而$.ajax却不行排错
axios请求成功而$.ajax却不行排错
14 2
|
8天前
|
JSON 前端开发 JavaScript
Vue3 Ajax(axios)
Vue3 Ajax(axios)
|
8天前
|
负载均衡 前端开发 搜索推荐
Axios 和 Ajax 的区别
Axios 和 Ajax 的区别
|
8天前
|
JSON JavaScript 前端开发
基于 JavaScript 的网络请求工具库 axios 的使用介绍
基于 JavaScript 的网络请求工具库 axios 的使用介绍
74 3
|
8天前
|
资源调度 前端开发 JavaScript
Vue3中如何使用axios进行Ajax请求?
Vue3中如何使用axios进行Ajax请求?
124 1
|
8天前
|
前端开发
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
AJAX发送请求方法封装和请求函数底层刨析以及axios二次封装
|
8天前
|
JSON 前端开发 JavaScript
总结 Vue3 的一些知识点:Vue3 Ajax(axios)
总结 Vue3 的一些知识点:Vue3 Ajax(axios)
|
8天前
|
XML 资源调度 前端开发
Ajax(axios)
Ajax(Asynchronous JavaScript and XML)是一种异步的Web开发技术,它通过在后台与服务器交换数据,实现了在不重新加载整个页面的情况下,更新部分网页内容的效果。Ajax的核心是XMLHttpRequest对象,它用于在浏览器和服务器之间发送HTTP请求和接收响应。
35 2
|
8天前
|
前端开发 JavaScript API
axios和ajax的区别
axios和ajax的区别
57 0
|
8天前
|
JavaScript
vue封装axios(用interceptors封装)
vue封装axios(用interceptors封装)
15 0