AJAX快速上手和基本核心
一、快速上手AJAX
使用ajax的过程可以类比平常我们访问网页过程
1.创建一个XMLHttpRequest类型的对象------相当于打开了浏览器
var xhr = new XMLHttpRequest();
2.打开一个网址之间的连接-------相当于在地址栏输入访问地址
xhr.open('GET', 'http://test1.com/ajax/time.php');
3.通过连接连接发送一次请求-------相当于回车或点击访问发送请求
xhr.send();
4.指定xhr状态变化事件处理函数---------相当于处理网页呈现后的操作
xhr.onreadystatechange = function () {
//通过 xhr 的readyState 判断此次请求的响应是否接受完成
if (this.readyState!==4) return;
//通过 xhr 的responseText 获取到响应的响应体
console.log(this.responseText);
}
二、readyState
由于readystatechange 事件是在 xhr 对象状态变化时触发(不单是在得到响应时),也就意味着这个事件会被触发多次,所以得有必要了解每一个状态值代表的含义。

以下是各状态值出现的顺序
<script>
var xhr= new XMLHttpRequest();
console.log(xhr.readyState);
//==>0
//初始化 请求代理对象 xhr.open('GET', 'http://test1.com/ajax/time.php');
console.log(xhr.readyState);
//==>1
//open 方法已经调用 , 建立一个与服务端特定端口的连接 xhr.send(); xhr.addEventListener('readystatechange',function(){
switch (xhr.readyState) {
case 2:
console.log(xhr.readyState);
//==>2
//已经接收到了响应报文的响应头(但是还没有拿到请求体)
break;
case 3:
console.log(xhr.readyState);
console.log(this.responseText);
//==>3
//正在下载响应报文的响应体,有可能响应体为空,也有可能不完整
//在这里处理响应体不保险(不可靠)
break;
case 4:
console.log(xhr.readyState);
//==>4
//整个响应报文已经完整下载下来了
break;
default:
// statements_def
break;
}
}); </script>
AJAX快速上手和基本核心的更多相关文章
- AJAX快速上手
创建XMLHttpRequest对象 xmlHttp = new XMLHttpRequest(); xmlHttp = new ActiveXObject('Microsoft.XMLHTTP'); ...
- 【java框架】MyBatis-Plus(1)--MyBatis-Plus快速上手开发及核心功能体验
1.MyBatis-Plus入门开发及配置 1.1.MyBatis-Plus简介 MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变, ...
- 从零开始学 Web 之 Ajax(三)Ajax 概述,快速上手
大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...
- 如何快速上手一个新技术之vue学习经验
碰到紧急项目挪别人的vue项目过来直接改,但是vue是18年初看过一遍,18年底再来用,早就忘到九霄云外了,结果丢脸的从打开vue开始学,虽然之前在有道云笔记做了很多记录,然后没有系统整理.所以借这次 ...
- 快速上手RaphaelJS-Instant RaphaelJS Starter翻译(一)
(目前发现一些文章被盗用的情况,我们将在每篇文章前面添加原文地址,本文源地址:http://www.cnblogs.com/idealer3d/p/Instant_RaphaelJS_Start ...
- MongoDB快速上手
1. MongoDB简介 MongoDB是一个跨平台的基于Key_Value键值对形式保存数据的NoSQL文档类型数据库. NoSQL(not only sql)数据库,泛指非关系型数据库. 1.1 ...
- smarty 快速上手
smarty半小时快速上手入门教程 投稿:shichen2014 字体:[增加 减小] 类型:转载 时间:2014-10-27我要评论 这篇文章主要介绍了smarty半小时快速上手入门教程,以实例的形 ...
- smarty半小时快速上手入门教程
http://www.jb51.net/article/56754.htm http://www.yiibai.com/smarty/smarty_functions.html http://www. ...
- knockoutJS 快速上手
翻译:Knockout 快速上手 - 3: knockoutJS 快速上手 许多时候,学会一种技术的有效方式就是使用它解决实际中的问题.在这一节,我们将学习使用 Knockout 来创建一个常见的应用 ...
随机推荐
- 在JavaWeb项目中URL中字符串加密解密方案
URL由来: 一般来说,URL只能使用英文字母.阿拉伯数字和某些标点符号,不能使用其他文字和符号.比如,世界上有英文字母的网址 “http://www.abc.com”,但是没有希腊字母的网址“htt ...
- serialPort操作结构体Hashtable的使用
- 关于JSON字符串的处理与总结 【原创】
这两天帮另一个实习生处理点前端的问题 遇到点JSON的处理 总结如下 ①一个JSON字符串 JSON.Parse(JSON字符串)—>JSON对象Object ②一个JSONArray ...
- SecureCRT在同一窗口打开多个标签
打开SecureCRT - 文件 - 连接 ,勾选"在标签页中打开".
- [SQL Server]用 C# 在 LinqPad 建立 Linked Server 跨服务器数据库操作
在涉及老项目数据迁移的时候,数据库结构已经完全发生变化,而且需要对老数据进行特殊字段的处理,而且数据量较大,使用Navicat导出单表之后,一个表数据大概在100多万的样子,直接导出SQL执行根本行不 ...
- 优化TestNG测试报告
以下内容引自: https://www.cnblogs.com/jwentest/p/7073223.html 优化testng报告 背景 搞过testng的同学都知道,testng自带的报告非常 ...
- Linux.安装phantomjs
PhantomJS 是一个基于 WebKit 的服务器端 JavaScript API.它全面支持web而不需浏览器支持,其快速,原生支持各种Web标准: DOM 处理, CSS 选择器, JSON, ...
- 浅析ajax原理与用法
1 ajax原理 Ajax(Asynchronous JavaScript and XML (异步的JavaScript和XML)),是一种快速创建 动态网页的技术,目的是显示动态局部刷新.通过XML ...
- 【爆料】-《亚伯大学毕业证书》Aber一模一样原件
☞亚伯大学毕业证书[微/Q:865121257◆WeChat:CC6669834]UC毕业证书/联系人Alice[查看点击百度快照查看][留信网学历认证&博士&硕士&海归&am ...
- Ubuntu18.04美化主题(mac主题)
前端时间Ubuntu18.04LTS发布,碰巧之前用的Ubuntu16.04出了一点问题,懒得解决,索性就换了Ubuntu18.04. 成果: 参考博客:https://www.cnblogs.com ...