JavaScript学习之旅-15( 原创 )

简介: 在 上一篇文章 中,主要介绍了DOM的相关知识,了解了JavaScript 能够改变页面中的所有 HTML 元素、 能够改变页面中的所有 HTML 属性、 能够改变页面中的所有 CSS 样式 、能够对页面中的所有事件做出反应,那么这一篇主要学习非常重要的AJAX。

在 上一篇文章 中,主要介绍了DOM的相关知识,了解了JavaScript 能够改变页面中的所有 HTML 元素、 能够改变页面中的所有 HTML 属性、 能够改变页面中的所有 CSS 样式 、能够对页面中的所有事件做出反应,那么这一篇主要学习非常重要的AJAX。

AJAX为什么重要,我们知道移动互联网的时代联网是必须的,不联网也就是失去了基本传输信息的意义。那么,这个联网的过程开发一般称之为Http协议,为什么AJAX重要,下面的文章会重点介绍。

什么是AJAX?

Ajax 即“Asynchronous Javascript And XML”(异步 JavaScript 和 XML),是指一种创建交互式网页应用的网页开发技术。

传统的网页(不使用 Ajax)如果需要更新内容,必须重载整个网页页面。但是Ajax 是一种用于创建快速动态网页的技术。无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。也就意味可以在不重新加载整个网页的情况下,对网页的某部分进行更新。在 2005 年,Google 通过其 Google Suggest 使 AJAX 变得流行起来。Google Suggest 使用 AJAX 创造出动态性极强的 web 界面

开始使用:

在Android开发中,做网络请求,首先需要构建一个HttpRequest对象、然后添加具体的请求头或者请求体、然后后台server接受请求体以后返回响应体给Android,Android在根据响应体解析数据告知用户成功或者失败或者其他提示,至此一次网络请求流程大抵就是这样。

同样的在AJAX中,首先需要构建一个XMLHttpRequest 对象。所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象;IE5 和 IE6 使用 ActiveXObject)

img_99294d967bb11ccae0e46dc64e7676be.png
构建XMLHttpRequest对象

构建完请求对象以后,我们在构建请求方式(POST请求还是Get请求)、请求url,写法如下:

img_5c219716f8271f16a83ff3d85d3862ea.png
构建对象之后的写法


如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:

img_c5d8c6be14b0f2114b1202aeebafe903.png
写法

既然已经构建好了http对象、声明请求方式以及请求url,那么如何接受服务器返回给我们的响应体?

使用 XMLHttpRequest 对象的 responseText 或 responseXML 属性。其中,responseText 表示获得字符串形式的响应数据;而 responseXML 是指获得 XML 样式的响应数据。

img_31b636de4e8904a639dbb9d9c0d45b32.png
响应体

但是值得注意的是,当请求被发送到服务器时,我们需要执行一些基于响应的任务。每当 readyState(在XMLHttpRequest 对象中) 改变时,就会触发 onreadystatechange 事件。readyState 属性存有 XMLHttpRequest 的状态信息。readyState存有 XMLHttpRequest 的状态。状态值一般是 0 - 4,具体数值表达的信息如下:

0:请求未初始化

1:服务器连接已建立

2:请求已接收

3:请求处理中

4: 请求已完成,且响应已就绪

status 代表请求后的状态

200: 表示状态Ok

404:未找到页面


状态码拓展:服务器常用的状态码及其对应的含义如下

 200:服务器响应正常。

 304:该资源在上次请求之后没有任何修改(这通常用于浏览器的缓存机制,使用GET请求时尤其需要注意)。

 400:无法找到请求的资源。

 401:访问资源的权限不够。

 403:没有权限访问资源。

 404:需要访问的资源不存在。

 405:需要访问的资源被禁止。

 407:访问的资源需要代理身份验证。

 414:请求的URL太长。

 500:服务器内部错误。

因此,综合上面的内容我们可以总结下AJAX的用法:

A:构建XMLHttpRequest 对象、声明请求方式、请求头或者请求体、声明请求url

B:利用onreadystatechange 监听请求服务器的状态

C:拿到响应体、解析响应体、设置响应体告知用户信息

因此完整的写法如下:

img_aaf20bc7a41c35851f4f415f333b1bd1.png
AJAX写法

红色矩形是响应体信息,拿到这个信息以后我们就可以将其设置在页面上做信息展示。

本篇文章主要学习的是关于AJAX介绍以及使用。本章的基本内容就结束了。

如果这篇文章对你有帮助,希望各位看官留下宝贵的star,谢谢。

Ps:著作权归作者所有,转载请注明作者, 商业转载请联系作者获得授权,非商业转载请注明出处(开头或结尾请添加转载出处,添加原文url地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

相关文章
|
1月前
|
JavaScript 前端开发 开发者
VUE 开发——Node.js学习(一)
VUE 开发——Node.js学习(一)
70 3
|
2月前
|
JavaScript
ES6学习(9)js中的new实现
ES6学习(9)js中的new实现
|
7天前
|
存储 JavaScript 前端开发
JavaScript学习第一章
本文档介绍了JavaScript的基础知识,包括其在网页中的作用、如何通过JavaScript动态设置HTML元素的CSS属性,以及JavaScript中的变量类型(`var`、`let`、`const`)和数据类型(基本数据类型与引用数据类型)。通过实例代码详细解释了JavaScript的核心概念,适合初学者入门学习。
|
1月前
|
JavaScript
js学习--制作猜数字
js学习--制作猜数字
38 4
js学习--制作猜数字
|
1月前
|
JavaScript
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
这篇文章介绍了如何将webpack的配置文件分离成开发环境和生产环境的配置文件,以提高打包效率。
48 1
webpack学习五:webpack的配置文件webpack.config.js分离,分离成开发环境配置文件和生产环境配置文件
|
2月前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
2月前
|
JavaScript 前端开发 API
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
该文章跟随月影老师的指导,探讨了编写优质JavaScript代码的三大原则:各司其职、组件封装与过程抽象,通过具体示例讲解了如何在实际开发中应用这些原则以提高代码质量和可维护性。
紧跟月影大佬的步伐,一起来学习如何写好JS(上)
|
1月前
|
JavaScript
js学习--制作选项卡
js学习--制作选项卡
37 4
|
1月前
|
JavaScript
js学习--商品列表商品详情
js学习--商品列表商品详情
20 2
|
1月前
|
JavaScript
js学习--九宫格抽奖
js学习--九宫格抽奖
19 2
下一篇
无影云桌面