JavaScript学习之旅-15( 原创 )-阿里云开发者社区

开发者社区> 开发与运维> 正文

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地址),文章请勿滥用,也希望大家尊重笔者的劳动成果。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章