JavaScript-Ajax-axios-Xhr

 JS的异步请求

主要有xhr xmlHttpRequest 以及axios  下面给出代码以及详细用法,都写在了注释里 直接拿去用即可 

测试中默认的密码为123456 账号admin

其他一律返回登录失败

代码实例

<!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>Document</title>
</head>
<body><p class="my"></p><script>//这里简单介绍利用xhr方式进行异步//xhr xmlhttprequest/*先说ajax吧,其实就是一种概念的统称,异步调用。我们熟知的XHR、axios、fetch都是在这个概念之下。具体到后面三个,都是异步请求的实现方式。浏览器环境中有两个和ajax有关的原生api,一个是XHR一个是Fetch,Fetch是与XHR同级且后出的异步请求方式。axios则是一个异步请求的第三方库。JQ的ajax部分和axios的实现都是源于对XHR的封装
axios 的话可以自动把json数据转换成js对象 利用json.prase方法下面的接口文档来自于黑马前端接口文档 可以拿来做测试*/var xhr=new XMLHttpRequest();//创建xhr对象var url='http://ajax-api.itheima.net/api/province'//服务器请求地址//这里补充一下   如果有多个参数prames  可以用插件 urlsearchprames 先把要查询的数组转换成字符串然后拼接到url 拼接方式可以用字符串模板xhr.open('get',url,true)//创建请求 参数:请求方式,请求地址 是否开启异步xhr.addEventListener('loadend',()=>{//开启监听console.log(xhr.response)//打印响应内容 发现这时候还是服务器的json数据  利用json的内置方法转化为js可以识别的数组 data=JSON.parse(xhr.response)enddata=data.data//发现键值对为data 进行循环输出for (let index = 0; index < enddata.length; index++) {let element = enddata[index];      console.log(element)     }})xhr.send();//发送请求</script>
<!--这里是axios的写法以及用法  可以对比上面的内置xhr方法-->
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js">
//引入axios
</script>
<input type="text" id="m" placeholder="用户名">
<input type="text" id="m1" placeholder="密码">
<button type="submit" class="sub-btn">登录</button>
<script>
//对登录进行监听   
document.querySelector(".sub-btn").addEventListener('click',() =>{const username =document.querySelector("#m").valueconst password=document.querySelector("#m1").valueconsole.log(username+password)//下面是具体写法  上面是获取用户输入的内容axios({
url:"http://ajax-api.itheima.net/api/login",
method:'post',
data:{//存放交换的数据
username:username,
password:password
}}).then(result =>{//成功之后返回200console.log(result)//打印成功的响应内容console.log(result.data.message)confirm(result.data.message)}).catch(error =>{//异常捕获  非200的console.log(error)//打印错误异常内容confirm(error.response.data.message)})}
)</script>
</body>
</html>

成功截图:

 这里可以看到区别  axios自动把json数据转换了 在控制台可以看到  返回的请求头  请求方式 以及状态码  还有数据的结构

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

科技抗老新突破,香港美容仪品牌内地重磅上市

近年来&#xff0c;新消费时代“颜值经济”的火热促使美容行业市场规模增长迅速&#xff0c;越来越多的人愿意为“美”买单&#xff0c;对美的需求也随之增长&#xff0c;美容行业已经成为成长最快的新锐产业。随着经济和科技的发展&#xff0c;“快捷”也成为了当今社会的时代…

华为云认证考试包含哪些内容?

华为云计算认证考试包含哪些内容&#xff1f;华为云计算认证涵盖了hcia、HCIP、HCIE三个级别的认证。HCIA云计算方向只要考一门笔试&#xff0c;考试覆盖基础通识知识、虚拟化FusionCompute、桌面云FusionAccess、云计算发展趋势共四大模块知识点&#xff0c;包括云计算概述、服…

想要精通算法和SQL的成长之路 - 最长回文子串

想要精通算法和SQL的成长之路 - 最长回文子串 前言一. 最长回文子串1.1 中心扩散法的运用 前言 想要精通算法和SQL的成长之路 - 系列导航 一. 最长回文子串 原题链接 1.1 中心扩散法的运用 这类具有回文性质的题目&#xff0c;我们如果用常规的从左往右或者从右往左的遍历方…

中尺度混凝土二维有限元求解——运行弯曲、运行光盘、运行比较、运行半圆形(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…

swift 约束布局

添加约束布局 背景图瀑全屏 如何三等分 外面view容器没有约束

类类型参数函数调用发生了什么

class Foo{ public:int key;int val;Foo():key(0),val(0){cout<<"无参构造函数\n";}Foo(int k, int v):key(k),val(v){cout<<"有参构造函数\n";}~Foo(){cout<<"析构函数\n";}Foo(const Foo& foc){this->key foc.key;t…

【Spring Boot】Spring—加载监听器

这里写目录标题 前言加载监听器执行run方法加载配置文件封装Node调用构造器思考 前言 前几天的时候&#xff0c;项目里有一个需求&#xff0c;需要一个开关控制代码中是否执行一段逻辑&#xff0c;于是理所当然的在yml文件中配置了一个属性作为开关&#xff0c;再配合nacos就可…

笔记1.4 计算机网络性能

1. 速率 速率即数据率&#xff08;data rate&#xff09;或称数据传输速率或比特率 单位时间&#xff08;秒&#xff09;传输信息&#xff08;比特&#xff09;量 计算机网络中最重要的一个性能指标 单位&#xff1a;bps、kbps、Mbps k 10^3、M 10^6、G 10^9 速率往往…

网络安全深入学习第一课——热门框架漏洞(RCE-命令执行)

文章目录 一、RCE二、命令执行/注入-概述三、命令执行-常见函数四、PHP命令执行-常见函数1、exec&#xff1a;2、system3、passthru4、shell_exec5、反引号 backquote 五、PHP命令执行-常见函数总结六、命令执行漏洞成因七、命令执行漏洞利用条件八、命令执行漏洞分类1、代码层…

excel中的引用与查找函数篇2

如下所有案例中表头均不参与范围查找内&#xff1a; 1、LOOKUP(lookup_value,lookup_vector,[result_vector])&#xff1a;在一行或者一列中查找某个值并从另一行或者列中找到同位置的值 记住&#xff1a;中括号内的参数可以不赋值&#xff0c;若在中间用逗号隔开这个参数&…

思维模型 协议

1 模型故事 1.1 社会性质的协议 1 世界观的建立 1 2 3 4 5 6 7 8 9 0 这些阿拉伯数字 如此常见&#xff0c;那么我们是否想过 为什么 这些阿拉伯数字我们如此熟悉&#xff1f;为什么我们要学习这些玩意儿&#xff1f;这些东西为什么大家都要学习&#xff0c;都要使用&#x…

C++数据结构X篇_14_二叉树的递归遍历(先序遍历、中序遍历、后续遍历方法介绍;举例;代码实现)

我们知道数据的存储结构分为线性与非线性。线性就是1对1的结构&#xff0c;像栈与队列都属于线性结构。那什么是非线性的结构呢&#xff1f; 非线性即1对n的结构这更符合常规情况&#xff0c;线性结构本质上属于非线性结构中的一种特殊形式&#xff0c;像树就属于非线性结构。但…

neo4j下载安装配置步骤

目录 一、介绍 简介 Neo4j和JDK版本对应 二、下载 官网下载 直接获取 三、解压缩安装 四、配置环境变量 五、启动测试 一、介绍 简介 Neo4j是一款高性能的图数据库&#xff0c;专门用于存储和处理图形数据。它采用节点、关系和属性的图形结构&#xff0c;非常适用于…

6. 装饰器

UML 聚合(Aggregation)关系&#xff1a;大雁和雁群&#xff0c;上图中空心菱形箭头表示聚合关系组合(Composition)关系&#xff1a;大雁和翅膀 &#xff0c;实心菱形箭头表示组合(Composition)关系 测试代码 #include <iostream> #include <stdio.h> #include &l…

海勒姆法则(Hyrum‘s Law)

在对于共享代码库的足够大的用户群中&#xff0c;有人会依赖于你代码的任何可能特性——包括你的漏洞。 摘要 Hyrum’s Law&#xff0c;海勒姆法则&#xff0c;是软件开发中的一个原则&#xff0c;它的核心思想是&#xff1a;当一个接口被足够数量的用户使用时&#xff0c;不论…

Spring复杂对象的3中创建方法

复杂对象是相对于简单对象可以直接 new 出的对象。这种对象在 Spring 中不可以通过简单对象的创建方式来创建。下面我们将通过实现 FactoryBean 接口、实例工厂、静态工厂三种方法来创建。 FactoryBean 接口 Spring 提供 FactoryBean 接口并且提供了 getObject 方法是为了支持…

“熊猫杯” | 赛宁网安获网络安全优秀创新成果大赛优胜奖

9月11日&#xff0c;四川省2023年国家网络安全宣传周正式启动。由四川省委网信办指导&#xff0c;中国网络安全产业联盟&#xff08;CCIA&#xff09;主办&#xff0c;成都信息工程大学、四川省网络空间安全协会承办的“2023年网络安全优秀创新成果大赛—成都分站赛(暨四川省‘…

MYSQL 主从搭建详细步骤和测试

MySQL主备搭建 1.主库配置 以下所有操作均在主服务器上执行 1&#xff09;创建用户并授权 create user slave identified with mysql_native_password by 123456 mysql>GRANT REPLICATION SLAVE ON *.* to slave% identified by 123456; //如果用户已存在&#xff0c;会改密…

使用差分进化算法进行关键帧提取:Python实践与详细指南

1. 差分进化算法简介 差分进化算法(Differential Evolution, DE)是一种为实数编码的全局优化问题设计的启发式搜索方法。DE的基本原理是通过对种群中的个体进行差分变异、交叉和选择操作来进化种群,使种群逐渐趋近于问题的全局最优解。 DE算法的基本步骤包括: 初始化:随…

Spring Boot - 用JUnit 5构建完美的Spring Boot测试套件

文章目录 PreJUnit 4 vs JUnit 5Junit5 常用注解栗子 Pre SpringBoot - 单元测试利器Mockito入门 SpringBoot - 应用程序测试方案 SpringBoot - SpringBootTest加速单元测试的小窍门 Spring Boot - Junit4 / Junit5 / Spring Boot / IDEA 关系梳理 package org.junit.jupit…