ajax和Axios快速入门

什么是ajax

概念: Asynchronous JavaScript And XML,异步的JavaScrip和XML,重点在异步。
作用
1,数据交互,可以通过ajax给服务器发送请求,并获取服务器响应的数据。
2,异步交互,可以不用重新加载整个页面的情况下,与服务器交换数据并更新部分网页的技术,如:联想搜索(百度),查询和用户名是否可用的校验等等。

在这里插入图片描述

原生ajax

环境配置

下载:

链接:https://pan.baidu.com/s/1bswgGUGqj3eS8L1wFbrjEw 
提取码:mvt4

本地起一个测试环境,127.0.0.1:8080服务

Java.exe -jar web-server.jar

在这里插入图片描述


使用原生ajax

使用原生ajax发送异步请求,一共有三步

  1. 创建XMLHttpRequest
  2. 发送异步请求
  3. 获取服务响应数据

代码

<!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>原生Ajax</title>
</head>
<body>
    
    <input type="button" value="获取数据" onclick="getData()">

    <div id="div1"></div>
    
</body>
<script>
    function getData(){
        //1. 创建XMLHttpRequest 
        var xmlHttpRequest  = new XMLHttpRequest();
        
        //2. 发送异步请求
        xmlHttpRequest.open('GET','http://127.0.0.1:8080/emp/list');
        xmlHttpRequest.send();//发送请求
        
        //3. 获取服务响应数据
        xmlHttpRequest.onreadystatechange = function(){
            if(xmlHttpRequest.readyState == 4 && xmlHttpRequest.status == 200){
                document.getElementById('div1').innerHTML = xmlHttpRequest.responseText;
            }
        }
    }
</script>
</html>

效果

打开控制面板中的网络,其中xhr就是ajax发送的异步请求。

在这里插入图片描述

Axios

原生ajax比较繁琐。实际开发中会使用Axios框架发送异步请求减少代码量。

什么是Axios

介绍:Axios对原生的Ajax进行了封装,简化书写,快速开发。
官网:https://www.axios-http.cn

Axios入门

1,引入Axios的js文件

<script>"js/axios-0.18.0.js"</script>

2, 使用Axios发送请求,下面代码中有体现实际查看代码部分。

注释部分就是Axios发送异步请求的部分,在此基础上还可以简写为未注释部分。
请求别名简化书写:
在这里插入图片描述
在这里插入图片描述

代码

<!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>Ajax-Axios</title>
    <!-- 引入axios js文件 -->
    <script src="js/axios-0.18.0.js"></script>
</head>
<body>
    
    <input type="button" value="获取数据GET" onclick="get()">

    <input type="button" value="删除数据POST" onclick="post()">

</body>
<script>
    function get(){
        //通过axios发送异步请求-get
        // axios({
        //     method: "get",
        //     url: "http://yapi.smart-xwork.cn/mock/169327/emp/list"
        // }).then(result => {
        //     console.log(result.data);
        // })


        axios.get("http://127.0.0.1:8080/emp/list").then(result => {
            console.log(result.data);
        })
    }

    function post(){
        //通过axios发送异步请求-post
        // axios({
        //     method: "post",
        //     url: "http://yapi.smart-xwork.cn/mock/169327/emp/deleteById",
        //     data: "id=1"
        // }).then(result => {
        //     console.log(result.data);
        // })

        axios.post("http://127.0.0.1:8080/emp/deleteById","id=1").then(result => {
            console.log(result.data);
        })
    }
</script>
</html>

效果

在这里插入图片描述


Axios小案例

需求
使用axios发送异步请求,获取服务端数据,然后渲染到前端的表格中。

获取数据主要响应包的data,整个响应的数据在Axios框架中为data。所以想要获取响应包中的data就是获取data.data部分数据即可。
如下图:
在这里插入图片描述
然后就是使用vue中的{{}} 插值的方法将对应的值插入表格中。

代码

<!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>Ajax-Axios-案例</title>
    <script src="js/axios-0.18.0.js"></script>
    <script src="js/vue.js"></script>
</head>
<body>
    <div id="app">
        <table border="1" cellspacing="0" width="60%">
            <tr>
                <th>编号</th>
                <th>姓名</th>
                <th>图像</th>
                <th>性别</th>
                <th>职位</th>
                <th>入职日期</th>
                <th>最后操作时间</th>
            </tr>

            <tr align="center" v-for="(emp,index) in emps">
                <td>{{index + 1}}</td>
                <td>{{emp.name}}</td>
                <td>
                    <img :src="emp.image" width="70px" height="50px">
                </td>
                <td>
                    <span v-if="emp.gender == 1"></span>
                    <span v-if="emp.gender == 2"></span>
                </td>
                <td>{{emp.job}}</td>
                <td>{{emp.entrydate}}</td>
                <td>{{emp.updatetime}}</td>
            </tr>
        </table>
    </div>
</body>
<script>
    new Vue({
       el: "#app",
       data: {
         emps:[]
       },
       mounted () {
          //发送异步请求,加载数据
          axios.get("http://127.0.0.1:8080/emp/list").then(result => {

            // 赋值给emps数据模型
            this.emps = result.data.data;
          })
       }
    });
</script>
</html>

效果图

在这里插入图片描述

参考文章

https://www.bilibili.com/video/BV1m84y1w7Tb

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/240727.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SSD Wear Leveling磨损均衡,并不是一直有效,甚至有负面作用!-part1

1.引言 上一篇WL基础文章中&#xff0c;我们介绍了SSD为何需要Wear Leveling磨损均衡的基本原理和分类&#xff0c;阅读本文之前&#xff0c;建议先了解WL磨损均衡的相关背景&#xff1a; 扩展阅读&#xff1a;深入解析SSD Wear Leveling磨损均衡技术&#xff1a;如何让你的硬…

什么是循环依赖,如何解决

目录 什么是循环依赖&#xff1f; 循环依赖的原因&#xff1a; 如何解决循环依赖问题&#xff1f; 最佳实践和注意事项&#xff1a; 结论&#xff1a; 当在使用 Spring Boot 进行开发时&#xff0c;循环依赖&#xff08;Circular Dependency&#xff09;可能会成为一个常见…

C语言之数组精讲(1)

目录 数组 数组的声明&#xff08;使用数组前的准备&#xff09; 访问数组&#xff08;数组的使用方法&#xff09; 数组的遍历 数组初始化 1.在声明变量时&#xff0c;除了必要的情况下&#xff0c;都需要对变量进行初始化。 2.我们还可以像下面在声明数组时不指定元素…

mitm抓包实践---可用于投票、日常类任务运用

文章目录 一、安装mitm二、证书导入三、抓包三、后话补充 一、安装mitm 第一种方式: 官网下载 https://mitmproxy.org/downloads/ 第二种方式: py库安装 pip install mitmproxy我是第一种&#xff0c;不熟悉py 二、证书导入 下载证书: http://mitm.it/ 首先你要开启代理&am…

【MySQL】MySQL库的操作

MySQL库的操作 一、创建数据库创建数据库案例字符集和校验规则校验规则对数据库的影响 二、操纵数据库1、查看数据库2、查看当前正在使用的数据库3、使用数据库4、显示创建语句5、数据库删除6、数据库的修改7、备份和恢复8、查看连接情况 一、创建数据库 创建数据库的语法如下…

HarmonyOS第一课ArkTS开发语言(TypeScript快速入门)

编程语言介绍 ArkTS是HarmonyOS优选的主力应用开发语言。它在TypeScript&#xff08;简称TS&#xff09;的基础上&#xff0c;匹配ArkUI框架&#xff0c;扩展了声明式UI、状态管理等相应的能力&#xff0c;让开发者以更简洁、更自然的方式开发跨端应用。要了解什么是ArkTS&…

C语言:高精度乘法

P1303 A*B Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 第一次画图&#xff0c;略显简陋。 由图可以看出c的小标与x,y下标的关系为x的下标加上y的下标再减一。 由此得到&#xff1a; c [ i j - 1 ] x [ i ] * y [ j ]x #include<stdio.h> #include<st…

(第67天)RMAN Duplicate 克隆 PDB

介绍 在之前 NONCDB 版本我们经常使用 RMAN Duplicate 方式来在线搭建 DataGuard,非常方便快捷。从 12C 开始 Oracle 推出了 CDB 架构后,自然也就支持使用 Duplicate 的方式来复制 CDB,但是 12C 时还没有那么智能。 从 18C 开始进行了升级,可以支持使用 RMAN Duplicate 方…

react-webApp--响应式布局

rem响应式布局 移动端响应式布局 1.自己实现&#xff0c;需要设计好初始换算比&#xff0c;设为100px方便计算 <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, minimum-scale1.0, user-scalableno"/> <…

爬虫学习日记第九篇(爬取seebug)

目标&#xff1a;https://www.seebug.org/vuldb/vulnerabilities 需求&#xff1a;爬取cve_id及影响组件 单线程 cookie是有时效的(过一段时间就不行了&#xff0c;大概半小时左右)&#xff0c;但是并不需要登录(直接抓包拿到的请求头) import base64 import json import ur…

持续集成交付CICD:通过API方式上传Nexus制品

目录 一、实验 1.通过API方式上传Nexus制品 二、问题 1.如何通过API方式上传PNG图片 2.如何通过API方式上传tar.gz 与 ZIP文件 3.如何通过API方式上传Jar file文件 4.如何通过API方式上传制品&#xff08;maven类型的制品&#xff09;文件 5.如何下载制品 一、实验 1.通…

flink找不到隐式项

增加 import org.apache.flink.streaming.api.scala._ 即可

C语言 联合体验证 主机字节序 +枚举

联合体应用&#xff1a;验证当前主机的大小端&#xff08;字节序&#xff09; //验证当前主机的大小端 #include <stdio.h>union MyData {unsigned int data;struct{unsigned char byte0;unsigned char byte1;unsigned char byte2;unsigned char byte3;}byte; };int main…

在Vue2中使用MarkDown编辑器输入(mavonEditor)

在开发一些需求如博客系统时&#xff0c;原始的文本框不满足我们的需求&#xff0c;展示word文档的格式又太麻烦吗&#xff0c;不难想到使用markdown的格式来输入和展示内容。本文介绍了在Vue2中怎么使用markdown格式的输入框和展示框。 先看一下实现的效果 官方文档 我们使用…

投资3-5万元的小本生意有什么?

现在想做点生意&#xff0c;真的好难。随便开个小店&#xff0c;房租、水电、装修这些加起来&#xff0c;就投资10w往上了。 我这还没开始赚钱呢&#xff0c;就已经投进去这么多钱了&#xff0c;万一生意不好亏本了&#xff0c;可该怎么办&#xff1f; 其实这是很多人面临的问…

PP材料粘接ABS材料使用UV胶的好处?

跟随着现阶段材料的不断发展更迭&#xff0c;PP材料应用越来越广&#xff0c;生产效率要求越来越高&#xff0c;为了加快生产&#xff0c;提高效率&#xff0c;PP材料的粘接上使用UV胶粘接PP&#xff08;聚丙烯&#xff09;和ABS&#xff08;丙烯腈-丁二烯-苯乙烯共聚物&#x…

STM32-TIM定时器中断

目录 一、TIM&#xff08;Timer&#xff09;定时器简介 二、定时器类型 2.1基本定时器结构 2.2通用定时器结构 2.3高级定时器结构 三、定时中断基本结构 四、时序图分析 4.1 预分频器时序 4.2 计数器时序 4.3 计数器无预装时序&#xff08;无影子寄存器&#xff09; …

静态HTTP应用的未来趋势与展望

随着互联网的快速发展&#xff0c;静态HTTP应用作为一种简单、快速和安全的Web应用形式&#xff0c;已经得到了广泛的应用。然而&#xff0c;随着技术的不断进步和创新&#xff0c;静态HTTP应用也在不断发展和变化。下面&#xff0c;我们就来谈谈静态HTTP应用的未来趋势和展望。…

腾讯云 - 日志服务(CLS)Bug 体验官

问题描述 最近在学习日志服务&#xff0c;发现了腾讯云上面一款CLS产品&#xff0c;致力于解决日志采集分析&#xff0c;刚开始用的时候感觉还不错&#xff0c;但是发现当创建第二个日志主题的时候发现不对劲了&#xff0c;前一个竟然失效了&#xff0c;排查了老半天也没发现啥…

dockerfile创建镜像lnmp

dockerfile创建镜像 LNMPwordpress nginx 172.111.0.10 docker-nginx mysql 172.111.0.20 docker-mysql php 172.111.0.30 docker-php systemctl stop firewalld setenforce 0 cd /opt mkdir nginx mysql php cd nginx/ 拖进去 nginx wordpress vim Dockerfile #声明基…