js原生xhr请求XMLHttpRequest
创建一个请求实例,发送请求
var xhr = new XMLHttpRequest(); xhr.open('GET', 'test.php'); xhr.send();
监控XMLHttpRequest对象的状态变化
xhr.onreadystatechange = function(){ if ( xhr.readyState == 4 && xhr.status == 200 ) { console.log( xhr.responseText ); } else { console.log( xhr.statusText ); } };
请求时限
xhr.timeout = 3000; xhr.ontimeout = function(event){ alert('请求超时!'); }
FormData对象
var formData = new FormData(); formData.append('aa', '12'); xhr.open('POST', url); xhr.send(formData);
接收二进制数据
xhr.responseType = 'blob'; var blob = new Blob([xhr.response]);
进度信息
xhr.onprogress = function updateProgress(event) { if (event.lengthComputable) { var percentComplete = event.loaded / event.total; } }
其它回调
xhr.onloadstart = function () { console.log("传输开始", 1); }; xhr.onload = function () { console.log("传输完成", 2); }; xhr.onloadend = function () { console.log("传输结束", 3); }; xhr.onabort = function () { console.log("用户取消"); }; xhr.onerror = function () { console.log("error"); };
获取响应头信息
#获取指定响应头 xhr.getResponseHeader("content-disposition") #获取所有响应头,字符串格式 var headers = xhr.getAllResponseHeaders().toLowerCase();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix