Ajax的原理和解析

网页的原始HTML文档不会包含任何数据 数据都是通过Ajax统一加载后再呈现出来的

Ajax 即异步的 JS 和 XML

利用JS在保证页面不被刷新 页面链接不改变的情况下与服务器交换数据并更新部分网页的技术

发送请求

javascript 复制代码
var xmlhttp;
if(window.XMLHttpRequest){
    xmlhttp=new XMLHttpRequest();
}else{
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
    if (xmlhttp.readyState==4 && xmlhttp.status==200){
        document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
}
xmlhttp.open("POST","/ajax/",true);
xmlhttp.send();

解析过程

得到响应后,onreadystatechange属性对应的方法会被触发

此时利用xmlhttp的responseText 属性便可取到响应内容

类似于python中利用requests向服务器发起请求,然后得到响应的过程

返回的内容可能是HTML,也可能是JSON,接下来只需要在方法中用JS进一步处理即可

渲染网页

通过document.getElementByld().innerHTML 这样的操作对某个元素内的源代码进行更改,这样网页显示的内容就改变了 这种对Document网页文档进行如更改、删除等操作也被称作DOM操作

document.getElementByld("myDiv").innerHTML=xmlhttp.responseText

将ID为myDiv的节点内部的HTML代码更改为服务器返回的内容

这样myDiv元素内部便会呈现出服务器返回的新数据

网页的部分内容看上去就更新了

比如微博的下拉刷新

就是JS向服务器发送了一个Ajax请求然后获取新的微博数据,将其解析,并渲染在网页中的过程

相关推荐
谭光志1 小时前
Vibe Coding 时代,程序员该何去何从
前端·后端·ai编程
仿生狮子3 小时前
别再说“全栈”了,AI 时代团队只认这 5 种人
前端·人工智能·后端
kyriewen3 小时前
AI 写的 React 组件,合并前必查的 6 个坏味道——每个都有代码对比
前端·javascript·react.js
Highcharts.js3 小时前
软件开发公司为什么选择 Highcharts?
前端·前端框架·echarts·数据可视化·技术选型·highcharts·图表工具
多加点辣也没关系4 小时前
JavaScript|第13章:原始类型的方法
开发语言·javascript·ecmascript
এ慕ོ冬℘゜4 小时前
深入理解 JavaScript 事件体系:Window、鼠标与键盘事件详解
开发语言·javascript·okhttp
阿祖zu4 小时前
企业 AI 转型之痛,个人提效十倍不止,组织效率仍止步不前?
前端·aigc·agent
摇滚侠5 小时前
SpringBoot3+Vue3 全套视频教程 45-51
前端·javascript·vue.js
酸梅果茶6 小时前
【6】lightning_lm项目-LIO 前端 -点云预处理模块
前端·slam
触底反弹6 小时前
🔥 RAG 到底是怎么工作的?掰开揉碎了给你讲明白!
javascript·人工智能·后端