xhr对象请求的流程

2024-04-30 01:48
文章标签 流程 请求 对象 xhr

本文主要是介绍xhr对象请求的流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

xhr,全称为XMLHttpRequest,用于与服务器交互数据

XMLHttpRequest 对象

XMLHttpRequest 对象提供了对 HTTP 协议的完全的访问,包括做出 POST 和 HEAD 请求以及的 GET 请求的能力

属性:

readystate: 0 XHR的当前状态
status: 0 响应消息状态码 只有在xhr.readystate 变为2以后才值
常见的消息状态码: 200 数据成功请求 404 未找到资源,客户端的路径问题等 5xx 服务器上的错误
statusText:"" 响应消息中原因消息,只有在xhr.readystate 变为2以后才值
responseText: “”,响应消息的主体内容,只有在xhr.readystate 变为3开始有值,变为4值稳定下来

事件:

onreadystatechange 每一次readystate的值有变化时会触发

方法:

open(method,uri,isAsyn)
send(null/body)
setRequestHeader(name,value); 设置请求消息头部
getResponseHeader(name);获取响应消息头部
getAllResponseHeaders();获取响应消息中的所有头部

xhr数据请求流程:

1.初始化xhr对象
设置请求方法,以及请求接口
开始发送数据到后台
2.后端接收前端发送过来的数据
3.将数据从后台返回给前端
发送数据到前端
4.前端接收后台发送过来的数据
接收部分数据时,
全部数据接收完毕,

	// 创建一个数据请求的实例化对象var xhr=new XMLHttpRequest() // 在xhr的准备状态发生改变的时候,调用该方法xhr.onreadystatechange=function () {// 判断xhr的准备状态switch (xhr.readyState) {case 0: {console.log('open方法已经调用,但是send方法没有调用') break;}case 1: {console.log('send方法已经调用,但是服务器没有返回数据') break;}case 2: {console.log('send方法已经调用,服务器开始返回数据') break;}case 3: {console.log('服务器已经返回部分数据') break;}case 4: {console.log('服务器已经返回全部的数据') console.log(xhr.response) console.log(xhr.responseText) console.log(xhr.responseURL) console.log(xhr.status) console.log(xhr.getAllResponseHeaders) break;}}}// open方法里面要放置两个参数,// 参数1:数据请求方式 get post// 参数2:请求的接口,参数在接口后面进行拼接xhr.open('get',”URL“ ) // 发送数据到后端xhr.send()

这篇关于xhr对象请求的流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/947636

相关文章

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

鸿蒙中Axios数据请求的封装和配置方法

《鸿蒙中Axios数据请求的封装和配置方法》:本文主要介绍鸿蒙中Axios数据请求的封装和配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.配置权限 应用级权限和系统级权限2.配置网络请求的代码3.下载在Entry中 下载AxIOS4.封装Htt

springboot filter实现请求响应全链路拦截

《springbootfilter实现请求响应全链路拦截》这篇文章主要为大家详细介绍了SpringBoot如何结合Filter同时拦截请求和响应,从而实现​​日志采集自动化,感兴趣的小伙伴可以跟随小... 目录一、为什么你需要这个过滤器?​​​二、核心实现:一个Filter搞定双向数据流​​​​三、完整代码

AJAX请求上传下载进度监控实现方式

《AJAX请求上传下载进度监控实现方式》在日常Web开发中,AJAX(AsynchronousJavaScriptandXML)被广泛用于异步请求数据,而无需刷新整个页面,:本文主要介绍AJAX请... 目录1. 前言2. 基于XMLHttpRequest的进度监控2.1 基础版文件上传监控2.2 增强版多

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

Spring AI ectorStore的使用流程

《SpringAIectorStore的使用流程》SpringAI中的VectorStore是一种用于存储和检索高维向量数据的数据库或存储解决方案,它在AI应用中发挥着至关重要的作用,本文给大家介... 目录一、VectorStore的基本概念二、VectorStore的核心接口三、VectorStore的

python之流程控制语句match-case详解

《python之流程控制语句match-case详解》:本文主要介绍python之流程控制语句match-case使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录match-case 语法详解与实战一、基础值匹配(类似 switch-case)二、数据结构解构匹

Go语言中最便捷的http请求包resty的使用详解

《Go语言中最便捷的http请求包resty的使用详解》go语言虽然自身就有net/http包,但是说实话用起来没那么好用,resty包是go语言中一个非常受欢迎的http请求处理包,下面我们一起来学... 目录安装一、一个简单的get二、带查询参数三、设置请求头、body四、设置表单数据五、处理响应六、超