xhr使用的简单总结

xhr和Ajax AJAX(Asynchronous JavaScript and XML)是一种在网页开发中用于实现异步数据交互的技术,它允许网页在不重新加载整个页面的情况下,与服务器进行数据交换并更新部分页面内容,从而提供更流畅的用户体验。 阅读详情
AI摘要

本文介绍了XMLHttpRequest(XHR)的核心方法,如open()用于设置请求方式和URL,send()用于发送请求。同时详细讲解了各种事件,如onload、onerror、ontimeout和onabort,以及如何处理响应。此外,还提到了xhr对象的重要属性,如readyState、status和responseType。

xhr的使用

一、方法

1.1 xhr.open()

语法:xhr.open(设置请求的方式,请求的路径, 同步/异步【布尔值true/false】);

1.2 xhr.send()

语法:xhr.send(发送请求体) ;

//创建xhr实例对象
const xhr = new XMLHttpRequest();
//设置响应数据的类型
xhr.responseType = "json";
//请求发送的准备,设置请求方式和URL(需要填写必要参数)
xhr.open("get", "http://127.0.0.1/info");
//请求发送
xhr.send();
xhr.onload = function (){
	//输出获取服务器的响应数据
	console.log(xhr.response);
}

1.3 xhr.setRequestHeader()

语法:xhr.setRequestHeader(键名,键值);
说明:键值对是成对出现,可在请求时设置请求头。

xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');

1.4 xhr.getResponseHeader()

语法:xhr.getResponseHeader(响应头的键名);
说明:通过键名获取响应头对应的数据

二、事件

2.1 xhr.onload

语法:xhr.onload = function(){};
说明:ajax响应数据可用时触发(同readystate === 4,数据接收完成时),会调用事件

document.getElementById('btn').onclick = function () {
    // 创建xhr对象
    let xhr = new XMLHttpRequest()
    // 调用open方法,设置请求方式和URL
    xhr.open('get', 'http://127.0.0.1:8080/info')
    // 调用send方法,发送
    xhr.send()
    // 当请求响应结束后(调用xhr.onload事件)
    //通过response属性接收服务器返回的数据
    xhr.onload = function () {
      console.log(xhr.response)
    }
  }

2.2 xhr.onerror

语法:xhr.onerror = function(err){}
说明:onerror事件,在请求服务错误时,触发事件
一个参数:err——输出err,返回一个事件进度对象,如下图所示。

在这里插入图片描述

// 请求服务错误时
xhr.onerror = function(err){
	console.log("onerror",err);
}

2.3 xhr.ontimeout

语法:xhr.ontimeout = function(){}
说明:同timeout属性一块使用,timeout表示设定超时时间,timeout设定的时间到达后,触发ontimeout事件,然后执行函数内的语句。

xhr.ontimeout = function(){
	console.log("请求超时之后会被触发!")
}

2.4 xhr.onabort

语法:xhr.onabort = function(){}
说明:onabort事件——主要用于取消请求。同abort()方法一同使用,当调用abort()方法时,onabort事件会被触发(仅触发一次)

// 当调用xhr.abort函数时会被触发(触发一次)
xhr.onabort = function(){
	console.log("取消请求")
	root.innerHTML = "请求被取消啦!"
}
//取消请求
xhr.abort();

2.5 xhr.onreadystatechange

语法:xhr.onreadystatechange = function(){}
说明:此事件主要配合xhr.readyState状态码使用,当状态码发生改变后会被调用
xhr.readyState状态码:
0 :初始状态
1:已经执行了open,请求还未发送。在此时可以执行setRequestHeader
2:已经可以获取响应头以及状态码信息
3:可以接收部分响应体数据
4:响应体数据接收完毕

// 当 xhr.readystate发生改变后会调用。
xhr.onreadystatechange = function(){
	if(xhr.readyState === 1){
		xhr.setRequestHeader("a",1);
		xhr.setRequestHeader("b",2);
		//group分组的意思,输出将以会以分组列表的形式输出
		console.group("****************1********************");
		console.log("status",xhr.status);
		console.log("statusText",xhr.statusText);
		console.log("getAllResponseHeaders",xhr.getAllResponseHeaders());
		console.log("response",xhr.response);
		console.groupEnd();
	}else if(xhr.readyState === 2){
		console.group("****************2********************");
		console.log("status:",xhr.status);
		console.log("statusText:",xhr.statusText);
		console.log("getAllResponseHeaders:",xhr.getAllResponseHeaders());
		console.log("response",xhr.response);
		console.groupEnd();
	}else if(xhr.readyState === 3){
		console.group("****************3********************");
		console.log("status:",xhr.status);
		console.log("statusText:",xhr.statusText);
		console.log("getAllResponseHeaders:",xhr.getAllResponseHeaders());
		console.log("response",xhr.response);
		console.groupEnd();
	}else if(xhr.readyState === 4){
		console.group("****************4********************");
		console.log("status:",xhr.status);
		console.log("statusText:",xhr.statusText);
		console.log("getAllResponseHeaders:",xhr.getAllResponseHeaders());
		console.log("response",xhr.response);
		console.groupEnd();
	}
}

在这里插入图片描述

三、属性

也就是指一些请求发送或完成过程中可能会被用户读取或使用到的一些值。
① readyState:xhr的状态码。
② status:http状态码。
③ statusText:http状态说明文本。
④ response:响应。(可通过xhr.response获取响应体数据)
⑤ responseType:响应类型。
⑥ responseURL:响应的URL路径。
⑦ responseText:响应的文本数据。
⑧ responseXML:响应的XML数据。

XHR 请求 XMLHttpRequest(XHR)是JavaScript中的一个对象,它提供了一种在网页中发送网络请求的方法,使得网页可以与服务器进行数据交换而无需重新加载整个页面。这种技术是AJAX(Asynchronous JavaScript and XML)的基础,允许网页实现动态更新,从而提升用户体验。 阅读详情

相关推荐

XHR error (req “error“), PUT……(connected: false, keepalive socket: false) headers: {}

XHR error (req "error"), PUT http://oss-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/wx/1723544759675-aac9218f-40e8-4863-80b2-b2ee1c1be2a5.png -1 (connected: false, keepalive socket: false) headers: {}

猿小白的博客 1064

XHR的用法详细解读

Ajax的使用方法及细节知识点

前端精髓 3万+

LilyPad三色LED共阳极控制:从原理到Arduino编程实战

RGB LED作为可编程光源的核心组件,通过红、绿、蓝三原色的加色混合原理,能够生成丰富的色彩。其内部结构主要分为共阳极和共阴极两种类型,这决定了驱动电路的设计和编程逻辑。在电子织物和可穿戴设备领域,掌握RGB LED的控制技术对于实现动态光效和交互反馈至关重要。本文以LilyPad三色LED为例,深入解析其共阳极特性,并详细演示如何结合Arduino进行PWM编程,从而精准控制颜色与亮度,为智能服装、互动艺术装置等项目提供可靠的照明解决方案。

weixin_30237719的博客 612

XMLHttpRequest(XHR)对象的open、send方法及其他函数和属性讲解

XHR(XMLHttpRequest)

qq_52469125的博客 3211

避坑指南:Unity新版InputSystem在移动端的5个常见问题及解决方案

本文针对Unity新版InputSystem在移动端开发中的常见问题,提供了5个关键解决方案,包括虚拟摇杆灵敏度调节、多点触控冲突处理、按钮反馈延迟优化、手势识别与陀螺仪数据融合以及Android/iOS平台差异处理。这些实战经验帮助开发者高效解决触控适配难题,提升移动游戏体验。

soda5的博客 405

从零搭建ECG心电图仪:模拟前端电路设计与噪声对抗实战

在电子工程和生物医学信号处理领域,微弱信号的采集与放大是核心挑战。其基本原理在于利用高精度模拟电路,从强大的环境噪声中提取出有用的差分信号。这项技术的核心价值在于将理论上的传感器信号转化为稳定、可靠的可用数据,是连接物理世界与数字系统的关键桥梁。在医疗监护、工业传感和科学测量等场景中,高性能的模拟前端设计直接决定了整个系统的精度与可靠性。本文聚焦于生物电信号采集这一具体应用,深入探讨如何运用差分放大器、低通滤波器和陷波滤波器等经典模块,构建一个能够有效对抗工频干扰和接触噪声的实用电路,最终实现从人体体表清晰

weixin_30616969的博客 460

Ajax学习笔记

Ajax学习

qq_57586976的博客 2834

DaVinci Configurator BswM模块配置

BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。

qq_59258431的博客 3948

什么是XHR,以及XHR常用的API

1 XHR 详情点击 使用XMLHttpRequest(XHR)对象可以与服务器交互, 也就是发送 ajax 请求 前端可以获取到数据,而无需让整个的页面刷新 Web页面可以只更新页面的局部,而不影响用户的操作 2 http请求与ajax请求 http请求包括ajax请求,是一种特别的http请求 2.1 服务器端和浏览器端 对服务器端来说, 没有任何区别 浏览器端发请求: 只有XHR 或 fetch 发出的才是 ajax 请求, 其它所有的都是非 ajax 请求 2.2 浏览器端接收到响应 一

youhebuke225的博客 5098

大模型在心律失常预测及治疗方案制定中的应用研究报告

目录一、引言1.1 研究背景与意义1.2 研究目的与方法1.3 研究创新点二、大模型技术概述2.1 大模型基本原理2.2 常见大模型类型及特点2.3 大模型在医疗领域的应用现状三、心律失常的术前预测与准备3.1 术前心律失常预测的重要性3.2 大模型在术前预测中的应用案例3.3 基于预测结果的术前准备方案四、术中监测与实时调整4.1 术中监测心律失常的方法与技术4.2 大模型辅助术中决策的机制4.3 实时调整手术方案的策略与实践五、术后恢复与并发症风险预测5.1 术后心律失常的监测与评估5.2 大模型预测术

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1597

Python使用netmiko配置华为交换机

1.netmiko就是专门为网络设备做的模块,非常强大。1.更适合网络设备的自动化运维模块。2、批量配置变更、备份。1.安装netmiko。2. 创建SSH连接。一、netmiko介绍。

博然的宝藏库 2797

XHR简介及基本使用

XHR简介 XHR是XMLHttpRequest 的简写 XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。XHR接口强制要求每个请求都具备严格的HTTP语义–应用提供数据和URL,浏览器格式化请求并管理每个连接的完整生命周期,所以XHR仅仅允许应用自定义一些HTTP首部,但更多的首部是不能自

wenxin_liu的博客 8050

某物data魔改与变种算法还原(含加解密Py纯算)

某物data加解密、设备指纹魔改、变异、自定义加密分析与纯算还原

吴秋霖的博客 1281

XHR的使用

是浏览器提供的一个内置对象,用于在的情况下与服务器交换数据(即 AJAX)。

xiaoxin_040112的博客 1146

XDMA Scatter-Gather(SG)模式

XDMA Scatter-Gather(SG)模式 是 Xilinx FPGA 中用于高效处理 ​非连续内存数据 的 DMA 传输机制,通过 ​描述符链表(Descriptor List)​ 管理多块分散数据,显著减少 CPU 开销并提升吞吐量。

浩瀚之水的专栏 2140

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

fetch和XHR的区别

fetch和XHR(XMLHttpRequest)分别是什么? fetch和XHR都是是获取远端数据的方式。 fetch是原生js方法,没有使用XMLHttpRequest对象,使用fetch可以不用引用http的类库即可实现。提供了一种简单,合理的方式来跨网络异步获取资源。 XMLHttpRequest(XHR)是一个构造函数,对象用于与服务器交互。通过 XMLHttpRequest 可以在不刷新页面的情况下请求特定 URL。即允许网页在不影响用户操作的情况下,更新页面的局部内容。可以用于获取任何类

MOEIAW的博客 1万+

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

xhr 的简单使用

Ajax = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。 Ajax 不是新的编程语言,而是一种使用现有标准的新方法。 它最大的优点是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容。并且不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。 总的来说,就是: ajax 是数据请求方式的一...

江玉郎 4638

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

XHR简介

在XHR诞生前,网页要获取客户端和服务器的任何状态更新,都需要刷新一次,在XHR诞生后就可以完全通过JS代码异步实现这一过程。XHR的诞生也使最初的网页制作转换为开发交互应用,拉开了WEB2.0的序幕。 XHR是一种浏览器API,极大简化了异步通信的过程,开发者并不需要关注底层的实现,因为浏览器会为我们完成这些工作,如连接管理、协议协商、HTTP请求格式化等等。最初版本的XHR能力非常有限,只...

sinolover的专栏 846

XHR

XHR 1.理解 使用XMLHttpRequest (XHR)对象可以与服务器交互, 也就是发送ajax请求 前端可以获取到数据,而无需让整个的页面刷新。 这使得Web页面可以只更新页面的局部,而不影响用户的操作。 2.区别一般http请求与ajax请求 ajax请求是一种特别的http请求 对服务器端来说, 没有任何区别, 区别在浏览器端 浏览器端发请求: 只有XHR或fetch发出的才是ajax请求, 其它所有的都是非ajax请求 浏览器端接收到响应 (1) 一般请求:

liguangda的博客 285

XHR对象详解

XHR是指XMLHttpRequest对象的缩写。是通过自己创建的用来承接ajax请求服务器返回数据的一个对象。IE5是第一款引入XHR对象的浏览器,在IE5中XHR对象是通过MSXML库中的一个ActiveX对象实现的。    在理解xhr的用法的时候,我们可以参照xhr的原生写法这样更好理解,下面是AJAX请求的原生写法: var xhr = new XMLHt...

Alive_tree的博客 3309

什么是 XHR 和 Fetch?

什么是 XHR 和 Fetch?

weixin_45428910的博客 2445

什么是xhr?

1、概念 xhr,全称为XMLHttpRequest,用于与服务器交互数据,是ajax功能实现所依赖的对象,jquery中的ajax就是对 xhr的封装。 2、xhr XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及普通的 GET 请求的能力。XMLHttpRequest 可以同步或异步地返回 Web 服务器的响应,并且能够以文本或者一个 DOM 文档的形式返回内容。 xhr 接口强制要...

u010227042的博客 2555

xhr XMLHttpRequest 简介

XHR全称XMLHttpRequest XMLHTTP是一组API函数集,可被JavaScript、JScript、VBScript以及其它web浏览器内嵌的脚本语言调用,通过HTTP在浏览器和web服务器之间收发XML或其它数据。XMLHTTP最大的好处在于可以动态地更新网页,它无需重新从服务器读取整个网页,也不需要安装额外的插件。该技术被许多网站使用,以实现快速响应的动态网页应用。例如:Google的Gmail服务、Google Suggest动态查找界面以及Google Map地理信息服务。 XM

whatday的专栏 1448
上一篇: 关于express模块下request.on方法的详细说明
下一篇: Promise的详解----未完待续
engineer_why
博客等级 码龄6年 233粉丝 10原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

engineer_why

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值