对原生网络知识一直没系统学习,花了些时间把 《JavaScript 高级程序设计》看了一遍,发现这本书翻译的不是很好,有些看起来很生硬,只能中英文对照看了,而《你不知道的JavaScript》看起来更舒服。
这道题目主要考察对前端网络请求知识点的掌握,能够对各种请求的优缺点能够了如指掌掌握,并能够对开源库 axios 的原理了如指掌。
前端中提供的原生网络请求有如下几种:
XMLHTTPRequest Leval1
IE5 首次提出了 XMLHTTPRequest, 它实现了 ajax(Asynchronous JavaScript XML),可以在不刷新页面的情况下更新 web 页面中的内容,也就是一种局部更新策略。XMLHTTPRequest 的出现让 ajax 这种技术走向了成熟。
// 同步请求
function requestSyncWithXHR1() {
let xhr = new XMLHttpRequest();
// 准备发起请求
xhr.open('get', '/api/user', false);
// 立即发起请求
xhr.send(null);
// 获取 xhr 的状态码
if ((xhr.status >= 200 && xhr.status < 300) || xhr.status === 304) {
alert(xhr.responseText);
}
else {
alert('req