js之AJAX

ops/2024/9/25 21:27:32/

ajax 是一种创建交互式网页应用的网页开发技术。其中最核心的依赖是浏览器提供的XMLHttpRequest 对象,是这个对象使得浏览器可以发出 HTTP 请求与接收 HTTP 响应。实现了在页面不刷新的情况下和服务器进行交互

new XMLHttpRequest()

生成一个 XMLHttpRequest 对象

open(‘请求类型’ , ’URL’ , ’请求方式’)

  1. 请求类型:get、post
  2. 请求地址:服务器(文件)位置
  3. 请求方式:true 为异步,false 为同步

send()

发送请求

onreadystatechange

该方法可以定义响应执行函数,当 readyState 属性发

生变化时会自动调用该方法。

readyState

交互流程,有 5 个阶段

  1. 请求初始化
  2. 服务器链接已建立
  3. 请求已接收
  4. 正在处理请求
  5. 请求已完成且响应已就绪

status

HTTP 响应状态码

200 :OK(请求成功)

403 :Forbidden(禁止)

404 :Page not found(未找到)

responseText

响应文本(返回的数据)

setRequestHeader(‘头部名称’ , ‘头部值’)

请求头,向请求添加 HTTP 头部

ajax使用方法

javascript"><script>let xhr = new XMLHttpRequest();xhr.open('get', 'js/index.json', true);xhr.send();xhr.onreadystatechange = function() {if (xhr.readyState == 4 && xhr.status == 200) {let text = xhr.responseText;console.log(text);let data = JSON.parse(text);console.log(data);}};</script>

post请求方式

javascript"><script>let obj = {phone_number: "15836028325",password: "111111"}// 1. 创建对象let xhr = new XMLHttpRequest();// 2. 创建请求xhr.open("POST", "https://zx.nh2r.top/api/admin/login", true);// 3. 设置 Content-Type 属性(固定写法)xhr.setRequestHeader('Content-Type', 'application/json');// 4. 发送请求,同时将数据以查询字符串的形式,提交给服务器xhr.send(JSON.stringify(obj));// 5. 监听 onreadystatechange 事件,接收响应数据xhr.onreadystatechange = function() {if (xhr.readyState === 4 && xhr.status === 200){console.log(JSON.parse(xhr.response));
}}
</script>
get post 的区别:
  1. get 是将参数包含在 URL 中明文传输,不安全。而 post 是通过 request body 传递参数, 对于用户来说是不可见的,所有更安全。
  2. get 传输数据量较小,因为 URL 有长度限制,post 传输的数据量较大,一般被默认为不受限制。
  3. 对于参数的数据类型,get 只接受 ASCII 字符,而 post 没有限制。
  4. get 请求时只会产生一个 TCP 数据包,get 比 post 更快。
  5. get 请求参数会被完整保留在浏览器历史记录里,而 post 中的参数不会被保留。

同步与异步的区别:

同步:在进程中任务未结束时,需等待结束才能执行下一个任务。

例如:在高速上,只有一条车道,如果前方发生车祸,那么后方的车需要等待前方    处理好才能继续通行。

异步:在进程中任务未结束但在等待的过程中可以先去执行下一个任务。

例如:还是在高速上,有两条车道,如果前方发生车祸,那么后方的车可以从另一    条车道继续通行。

 


http://www.ppmy.cn/ops/29275.html

相关文章

Swift - 流程控制

文章目录 Swift - 流程控制if-else2. while3. for3.1 闭区间运算符3.2 半开区间运算符3.3 for - 区间运算符用在数组上3.3.1 单侧区间 3.4 区间类型3.5 带间隔的区间值 4. switch4.1 fallthrough4.2 switch注意点 5. 复合条件6. 区间匹配、元组匹配7. 值绑定8. where9. 标签语句…

Unity Trail Renderer入门

概述&#xff1a; 在项目的开发过程中&#xff0c;一定有时候需要炫酷的尾迹效果&#xff0c;那接下来这部分的内容&#xff0c;一定不要错过&#xff01; Trail Renderer&#xff08;尾迹渲染&#xff09; Time&#xff1a;尾迹存在的时间&#xff0c;时间越长尾迹存在的越久…

2024-04-29 golang-GOPROXY-设置

摘要: 2024-04-29 golang-GOPROXY-设置 GOPROXY (会话临时性)&#xff0c;长久的可以在配置文件中配置 go env -w GOPROXYhttps://goproxy.cn,direct 长久的&#xff0c;在~/.bashrc文件中添加&#xff1a; export GOPROXYhttps://goproxy.cn,direct

ShardingSphere 5.x 系列【26】 数据分片原理之 SQL 路由

有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.1.0 本系列ShardingSphere 版本 5.4.0 源码地址:https://gitee.com/pearl-organization/study-sharding-sphere-demo 文章目录 1. 概述2. 携带分片键2.1 直接路由2.2 标准路由2.3 笛卡尔路由3. 不携带分片…

Linux 学习 --- 初识 Linux、相较于 Windows 优点、Linux 组成、Linux 目录结构

引言 在计算机科学与技术领域&#xff0c;操作系统是计算机系统的核心和基石。Linux&#xff0c;作为一款开源的操作系统&#xff0c;因其稳定性、安全性和灵活性&#xff0c;已经成为服务器领域的主流选择&#xff0c;同时也在桌面操作系统中占有一席之地。本文将带领读者初识…

shell 局域网IP探活脚本

Linux Shell脚本是一种编程方式&#xff0c;它允许用户通过编写一系列命令和控制结构来自动化系统任务。Shell脚本通常以.sh为扩展名&#xff0c;使用诸如Bash、Zsh、Ksh等Shell解释器来执行。以下是一个简单的Shell脚本示例&#xff0c;该脚本用于展示如何遍历局域网的一个子网…

【实时数仓架构】方法论

笔者不是专业的实时数仓架构&#xff0c;这是笔者从其他人经验和网上资料整理而来&#xff0c;仅供参考。写此文章意义&#xff0c;加深对实时数仓理解。 一、实时数仓架构技术演进 1.1 四种架构演进 1&#xff09;离线大数据架构 一种批处理离线数据分析架构&#xff0c;…

layui中禁用div标签等操作

为了实现点击表格行后触发事件 然后去触发后进行操作 页面流程操作设置规定 不可编辑直接添加属性 class"layui-disabled"如果在最大的 div 设置不可编辑 但是内部有些还是可以触发使用的 所以就重写一下 取到当前 div 下的 所有的子元素 然后在给所有的子元素…