手写原生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);
    }
}
相关推荐
愛~杦辷个訾42 分钟前
芋道项目,商城模块数据表结构
java·sql·芋道·yudao-cloud·芋道商城
TIF星空1 小时前
【使用 C# 获取 USB 设备信息及进行通信】
开发语言·经验分享·笔记·学习·microsoft·c#
我是Superman丶2 小时前
【技巧】前端VUE用中文方法名调用没效果的问题
前端·javascript·vue.js
斯~内克2 小时前
Vue 3 中 watch 的使用与深入理解
前端·javascript·vue.js
Smile丶凉轩3 小时前
Qt 界面优化(绘图)
开发语言·数据库·c++·qt
蜡笔小柯南3 小时前
解决:npm install报错,reason: certificate has expired
前端·npm·node.js
reasonsummer3 小时前
【办公类-100-01】20250515手机导出教学照片,自动上传csdn+最大化、最小化Vs界面
开发语言·python
lqj_本人4 小时前
鸿蒙OS&UniApp制作多选框与单选框组件#三方框架 #Uniapp
前端·javascript·uni-app
C_Liu_4 小时前
C语言:深入理解指针(5)
java·c语言·算法
苏三福5 小时前
ros2 hunmle bag 数据包转为图片数据 python版
开发语言·python·ros2humble