XMLHttpRequest细节介绍与Ajax实践

简介: XHR和AJAX结合起来,就能在不刷新页面的情况下,实现数据的神不知鬼不觉的交换,让用户体验如同吃了润滑油的滑梯。简洁而高效,这就是现代web开发的一个闪光点。

XMLHttpRequest(XHR)是一个浏览器内置对象,它能让Web页面实现异步数据请求。它就像是一个浏览器内的邮差,不需要刷新整个页面就能从服务器拿到你想要的数据。想象一下,你在玩一个在线游戏,突然游戏画面卡了一下,刷新!你要重新登录,多糟糕。用了XHR,这种悲剧就避免了,数据在背后悄悄更新,游戏体验丝滑顺畅。

AJAX(Asynchronous JavaScript and XML)是一种技术的大杂烩,XHR是这烩菜里的肉——主角。AJAX允许网页实现异步更新,意味着页面可以在不打扰用户的情况下,与服务器通信交换数据。

细说XHR,它不是个胆小的家伙,跨域请求?有点难度,但它有办法(CORS就是一种)。传统的表单提交必须刷新页面,XHR能悄无声息地送达数据,并且还能拿到服务器的答复。你可以用它获取各种格式的数据,比如JSON,HTML片段,文本,甚至是二进制数据。

来看一个栩栩如生的Ajax请求实战:

// 不就是创建个XHR对象嘛,简单!
var xhr = new XMLHttpRequest();

// 这位小伙子要去哪儿?URL,搞定!
xhr.open('GET', 'https://api.somewhere.com/data', true);

// 监听服务器的回应,耳朵得竖起来。
xhr.onreadystatechange = function() {
  if (xhr.readyState === 4 && xhr.status === 200) {
    // 数据回来了!处理这个JSON包。
    var jsonResponse = JSON.parse(xhr.responseText);
    console.log('Data received: ', jsonResponse);
  }
};

// 设置好了,发射!
xhr.send();
​

最后,让我们靓化一下这个Ajax流程:

  1. 新建XHR小怪兽。
  2. 开门看山,传授给它去哪儿,需要什么,教它如何打开各种门锁(HTTP请求方法、URL、是否异步)。
  3. 竖起你的天线,全神贯注待命响应(设置回调函数监听响应状态变化)。
  4. 哨声响起,请求发射,小怪兽开始跑酷。
  5. 等待...等到服务器响应,小怪兽冲过终点线。
  6. 读取小怪兽嘴里的报告(响应数据),做你想做的事!变形魔方,显示数据,或者偷偷地存起来。

XHR和AJAX结合起来,就能在不刷新页面的情况下,实现数据的神不知鬼不觉的交换,让用户体验如同吃了润滑油的滑梯。简洁而高效,这就是现代web开发的一个闪光点。

目录
相关文章
|
Web App开发 JavaScript 前端开发
前端接收数据流实现图片预览效果--ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践
本文为转载文章 原文链接:https://www.cnblogs.com/cdemo/p/5225848.html 首先要谢谢这位大神的无私贡献!解决了我的问题也完美表达了我当时的心路历程 ajax 请求二进制流 图片 文件 XMLHttpRequest 请求并处理二进制流数据 之最佳实践 写在前面 :从提出需求到完美的解决问题,实现过程是曲折的。
8235 0
|
前端开发 JavaScript API
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
js【详解】ajax (含XMLHttpRequest、 同源策略、跨域、JSONP)
119 0
|
XML 前端开发 JavaScript
AJAX - 创建 XMLHttpRequest 对象
AJAX - 创建 XMLHttpRequest 对象
|
JSON 前端开发 JavaScript
Django实践-04静态资源和Ajax请求
Django实践-04静态资源和Ajax请求
Django实践-04静态资源和Ajax请求
|
XML 前端开发 JavaScript
AJAX - 创建 XMLHttpRequest 对象
AJAX - 创建 XMLHttpRequest 对象
|
XML JSON 前端开发
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
AJAX 中创建 XMLHttpRequest 对象的方法和常用属性、方法
136 0
|
XML 前端开发 JavaScript
AJAX - 创建 XMLHttpRequest 对象
AJAX(异步JavaScript和XML)是一种在Web应用程序中创建快速动态更新的技术。使用AJAX,Web应用程序可以异步地向服务器发送和接收数据,而无需刷新整个页面。 AJAX广泛用于Web应用程序中,包括社交媒体,电子商务,在线游戏等等。 XMLHttpRequest 是AJAX中最重要的对象。它可以向服务器发送请求并接收响应。
|
前端开发 JavaScript
ajax方法执行同步的黄色警告:Synchronous XMLHttpRequest on the main thread is deprecated的解决方案
ajax方法执行同步的黄色警告:Synchronous XMLHttpRequest on the main thread is deprecated的解决方案
429 0
|
Web App开发 XML 存储
【AJAX】对于AJAX 解析已经XMLHttpRequest对象对于异步的操作等等在项目中的体验
【AJAX】对于AJAX 解析已经XMLHttpRequest对象对于异步的操作等等在项目中的体验
163 0
【AJAX】对于AJAX 解析已经XMLHttpRequest对象对于异步的操作等等在项目中的体验
|
XML JSON 前端开发
Java学习路线-47:Ajax学习XMLHttpRequest、XStream、json-lib(3)
Java学习路线-47:Ajax学习XMLHttpRequest、XStream、json-lib
183 0