问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ajax异步请求原理

发布网友 发布时间:2022-04-23 05:49

我来回答

2个回答

懂视网 时间:2022-05-14 18:16

今天将分享的是如何通过AJAX进行异步请求,有一定的参考价值,希望对大家有所帮助。

AJAX定义

AJAX是Asynchronous JavaScript + XML的简写,使我们可以通过 JavaScript 直接获取服务端最新的内容而不必重新加载

页面。让 Web 更能贴近用户体验。其实AJAX 就是浏览器提供的一套 API ,可以通过 JavaScript 调用,从而实现通过代码控制请求与响应。

HTTP是一种请求 - 响应协议,这意味着浏览器向Web服务器发出请求,然后Web服务器创建它发送回浏览器的响应,并且浏览器以可视方式将该文本呈现给用户。但是,如果您只需要更新页面的一小部分,就需要用到AJAX了然后使用浏览器的DOM模型将响应动态插入页面中。

AJAX异步请求的四个步骤

(1)为浏览器创建一个 XMLHttpRequest对象

var xhr = new XMLHttpRequest();

(2)创建将请求发送到服务器的功能:

xhr.open('GET', './demo.php');

(3)通过连接发生一次请求

xhr.send(string);

(4)指定 xhr 状态变化事件处理函数

xhr.onreadystatechange = function () {
 // 通过 xhr 的 readyState 判断此次请求的响应是否接收完成
 if (this.readyState === 4) {
 // 通过 xhr 的 responseText 获取到响应的响应体
 console.log(this)

readyState的四个状态

0 :代表xhr被创建但还没有调用open方法。

1 :open()方法已经被调用建立了连接。

2:调用了send()方法,并且已经可以获取状态行和响应头。

3: 响应体加载中, responseText 属性可能已经包含部分数据。

4: 响应体加载完成,可以直接使用 responseText 。

例:

var xhr = new XMLHttpRequest()//0状态
xhr.open('GET', 'time.php')//1状态,open方法已经调用了,建立一个与服务端特定端口的连接
xhr.send()
xhr.addEventListener('readystatechange', function () {
})//里面包含了2,3,4三种状态,2分别为接受到了响应头但还没有接受到响应体;
正在下载响应报文;
报文下载下来处理响应体
xhr.onreadystatechange = function () {
 if (this.readyState === 4) {
 }//处理函数

总结:

热心网友 时间:2022-05-14 15:24

ajax请求是基于原生XMLHttpRequest对象实现异步请求的方式。
通过XMLHttpRequest对象向服务器发送请求,服务器在接收到请求后作出回应,返回所需数据,本地根据对象返回的状态回调函数,实现数据交互。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
分手后说过的话精选185句 分手说的精选113句 分手怎么挽回女朋友的句子精选162句 现在工作忙的要死,女朋友因为这跟我分手,我该怎么办? ...任意组成两个不同的两位小数,并把它们改写成以0.001为计数单位... m3/MW▪h怎么换算m3/s▪GW? 交通银行的刷卡金怎么使用呢? 什么时候刷卡金 ...突然前面两条腿好像断了一样 走路前面两腿都无法支撑 吃饭就坐着吃... 王者荣耀:伤害与回复兼备的杨戬,为何不受待见,真废了吗? 手机玩着玩着突然黑屏然后开不了机,怎么弄也打不开 我电脑是win10系统时,可以安装虚拟机,换了系统装了win7后,再安装虚拟机启动的时候提示该CPU不支持 手机突然黑屏了,怎么也打不开 什么是AJAX? 毛豆为什么不能和鸡蛋一起煮 手机突然黑屏,怎么都打不开长按电源键10秒也没用 安装了虚拟机提示cpu不支持pae Ajax 原理 毛豆与什么食物相克 处理器不支持虚拟化,那如何安装VM虚拟机? 为什么微信打不开还黑屏 ajax究竟是怎么回事? 手机突然黑屏,怎么都打不开.怎么回事.怎么办 cpu不支持虚拟化技术该怎么办 毛豆不能和什么同食? 猪肉芹菜蒸饺怎么做好吃 猪肉芹菜蒸饺最正宗的做法 ajax的工作流程是什么 cpu不支持虚拟化技术该怎么办? 最新版VMware无法安装,提示cpu不支持,怎么解决(win10) 简述ajax原理和优点 安装vm的时候说cpu不支持开虚拟机。bios里也开启了虚拟化技。测试cpu支持。有大佬知道的吗 芹菜猪肉饺子馅的做法,芹菜猪肉饺子馅怎么做 vivo手机突然黑屏打不开怎么回事 Ajax异步处理的原理 毛豆可以和竹笋一起吃吗 VMware安装提示,处理器不支持!怎么解决 什么叫AJAX技术? 用微信如何在电脑上上传图片 安装VM出现此处理器类型不支持该安装程序包怎么办 毛豆可以和土豆一起吃吗 能和丝瓜一起吃吗 我的电脑安装VMware提示处理器不支持,但Oracle VM VirtualBox可以安装.用securable查看是可以的 CPU不支持,BIOS支持是否算虚拟化技术,能装虚拟机吗? 毛豆能不能和蜂蜜一起吃吗 我在虚拟机里装linux系统时候提示CPU不兼容,怎么办 VMware安装时说此处理器类型不支持安装程序包,怎么解决这个问题? 毛豆可以跟鸭爪一起卤吗? 我的笔记本是X61,T8300的CPU,用虚拟机安装64位版2003时,提示CPU不支持,正常吗?是不是CPU有问题 在装vmware vcenter server时提示处理器不支持,我用的是Intel i5 760处理器···!!! 虚拟机VMware监测到不支持的cpu怎么办? 面条跟毛豆能同吃吗