手写原生Ajax

  1. 打开请求:

    xhr.open('GET', '/api/lian', true);

这里使用open方法初始化一个请求。参数分别为:

    • 'GET':请求的方法,这里是GET方法,用于从服务器获取数据。
    • '/api/lian':请求的URL,表示将向服务器的/api/lian端点发送请求。
    • true:表示这个请求应该是异步的(async)。如果为false,请求将是同步的,但在这里设置为true意味着当请求正在进行时,JavaScript代码将继续执行,不会阻塞。
  1. 设置onreadystatechange事件处理程序:

    xhr.onreadystatechange = function() {
    if (xhr.readyState == 4 && xhr.status == 200) {
    let data = JSON.parse(xhr.responseText);
    }
    };

这段代码为xhr对象设置了onreadystatechange事件处理函数。当请求的状态改变时,这个函数会被调用。readyState属性表示请求的不同阶段(0到4),其中4表示请求已完成且响应已就绪。status属性是HTTP状态码,200表示请求成功。

    • xhr.readyState == 4xhr.status == 200时,说明请求已经完成并且成功了。此时,可以通过xhr.responseText获取到服务器返回的文本内容,并尝试将其解析成JSON对象,存储在变量data中。

注意 :在实际应用中,你可能还需要考虑错误处理,以及确保在调用JSON.parse之前检查响应内容是否为空或不是有效的JSON格式,以避免运行时错误。此外,如果是跨域请求,还需确保服务器支持CORS(跨源资源共享)。

以上代码是一个典型的AJAX GET请求的实现,用于向服务器请求数据并在客户端处理这些数据。

复制代码
let xhr=new XMLHttpRequest();
xhr.open('get','/api/lian',true);
xhr.onreadystatechange=function(){
    if(xhr.readyState==4&&xhr.status==200){
        let data=JSON.parse(xhr.responseText);
    }
}
相关推荐
折哥的程序人生 · 物流技术专研8 小时前
Java面试85题图解版 · 特别篇:2026后端高频面试题复盘(算法底层逻辑+高并发架构设计全解析,附Java实战代码)
java·网络·数据库·算法·面试
问心无愧05138 小时前
ctf show web入门160 161
前端·笔记
xxie1237948 小时前
return与print
开发语言·python
秋98 小时前
从 Python 后端工程师转型 AI Engineer(AI 工程化)的完整补课清单(2026实战版)
开发语言·人工智能·python
一条泥憨鱼8 小时前
【Redis】数据类型和常用命令
java·数据库·redis·后端·缓存
李小白668 小时前
第四天-WEB服务器基本原理,IIS服务
运维·服务器·前端
云烟成雨TD8 小时前
Spring AI Alibaba 1.x 系列【78】沙箱(Sandbox)
java·人工智能·spring
程序员二叉9 小时前
【Java】 异常高频面试题精讲 | 易错点+对比总结
java·开发语言·面试
humcomm9 小时前
AI编程时代新前端职位
前端·ai编程
周航宇JoeZhou9 小时前
JB3-9-SpringAI(二)
java·ai·agent·多智能体·调度·智能体·观察