关于AJAX异步请求的那些事儿(1)
1、什么事AJAX?
Asynchronous Javascript And XML:异步的JS和XML,由Google2002年在GoogleSuggest应用提出,目标实现客户端和服务器“同时”运行——异步的HTTP请求和响应,客户端不会经常出现“一片惨白”,提高浏览体验。涉及到的技术:HTML、CSS、JS、DOM、XML、JSON等,属于前端范畴,是纯客户端技术。
2、AJAX实现的效果:
(1)客户端和服务器异步运行
(2)客户端页面的局部刷新
(3)动态页面的静态化
3、使用AJAX的步骤
(1)创建XHR对象:var xhr=null;
if(window.XMLHttpRequest){
xhr=new XMLHttpRequest;
}else{
xhr=new ActiveXObject("Microsoft.XMLHTTP");
}
(2)绑定onreadyStatechange监听函数
xhr.onreadystatechange = function(){
}
(3)创建请求消息,建立到服务器的连接
xhr.open('GET/POST', 'xx.php', true);
(4)发送请求消息
xhr.send(null/data);
3、XMLHttpRequest的常用成员
常用成员属性: |
|
status:0 |
保存着服务器返回的响应消息的状态码 |
statusText:'' |
保存着服务器返回的响应消息的原因短句 |
responseText:'' |
保存着响应消息的主体——看做一段String |
responseXML:null |
保存着响应消息的主体——看做一个XMLDOM对象 |
timeout:0 |
设置XHR发起请求消息后,等待服务器给出响应消息的持续时间 |
readyState:0 只读的,其值是随着请求/响应的进程而自动改变的——用于描述当前请求/响应进行到哪一步了 |
0 - UNSENT 请求消息尚未发送 1 - OPENED XHR已创建请求消息,打开针对服务器的连接 2 - HEADERS_RECEIVED XHR对象已经接收到响应消息的头部 3 - LOADING XHR正在加载响应主体数据 4 - DONE XHR对象已经接收完毕响应消息 |
常用成员事件: |
|
onreadystatechange:fn |
当XHR的readyState值发生改变,触发此句柄 |
ontimeout:fn |
当XHR的请求超时,触发此句柄 |
onerror:fn |
当XHR发生请求/响应错误,触发此句柄 |
常用的成员方法: |
|
getAllResponseHeaders() |
获取响应消息中所有的头部 |
getResponseHeader(headerName) |
获取响应消息中指定的头部 |
open(METHOD, URI, isAysnc) |
创建一个HTTP请求消息,打开一个针对服务器的连接 |
send( null/'k1=v1&k2=v2&...' ) |
发送HTTP请求消息 |
setRequestHeader(name, value) |
在请求消息发送之前,设置一个请求消息头部 |
关于AJAX异步请求的那些事儿(1)的更多相关文章
- 关于AJAX异步请求的那些事儿(2)
1.使用AJAX发起GET请求消息 xhr.open("GET","XX.PHP?K1=V1$K2=V2",true); xhr.send(null); 2.使 ...
- ajax异步请求
做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...
- spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING
话不多说,直接上正文. 异常信息: Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题描述: 该异常是在页面发送ajax请 ...
- jquery Ajax异步请求之session
写了一个脚本,如下: $(function () { $("#btnVcode").click(function () { var receiveMobile = $(" ...
- ajax异步请求Response.Redirect重定向
一个ajax异步请求报错->捕获异常->重定向错误提示页面. 一个简单的流程 结果一直搞不定.重定向无效.各种百度之. 后来突然想起 ajax的请求是不能在后台重定向的. 如果硬要重定向 ...
- jquery的ajax异步请求接收返回json数据
http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...
- MVC&WebForm对照学习:ajax异步请求
写在前面:由于工作需要,本人刚接触asp.net mvc,虽然webform的项目干过几个.但是也不是很精通.抛开asp.net webform和asp.net mvc的各自优劣和诸多差异先不说.我认 ...
- AJAX异步请求原理和过程
AJAX 指异步 JavaScript 及 XML(Asynchronous JavaScript And XML),它不是一种新的编程语言,而是一种使用现有标准的新方法. AJAX 基于 JavaS ...
- Ajax异步请求-简单模版
<script type="text/javascript"> window.onload = function () { document.getElementByI ...
随机推荐
- oracle故障处理之删除大表空间hang住
背景 数据库分区表数据越来越大,需要对过期话的数据进行迁移,以及大的分区表需要进行数据的清理和删除,达到释放磁盘空间的目的. 问题说明 环境:linux 6.X 数据库:oracle 11.2.0.4 ...
- Redis学习笔记(九) 命令进阶:Pub/Sub(发布/订阅)操作
原文链接:http://doc.redisfans.com/pub_sub/index.html Redis的Pub/Sub模型可以应对工作中的一些简单应用,涉及到复杂应用还是推荐使用诸如Rabbit ...
- Neo4j下执行cypher-shell时,Connection refused问题解决?
不多说,直接上干货! 问题现象 root@zhouls-/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools ...
- HD-ACM算法专攻系列(22)——Max Sum
问题描述: AC源码: 此题考察动态规划,解题思路:遍历(但有技巧),在于当前i各之和为负数时,直接选择以第i+1个为开头,在于当前i各之和为正数时,第i个可以不用作为开头(因为前i+1个之和一定大于 ...
- Java基础——类和对象的初始化过程
本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...
- TP为什么这个if判断什么都不显示?
既不显示aaa也不显示bbb这是为什么? <if condition="isset(session('name'))"> aaa <else /> bbb ...
- java web 初尝遇到的坑
1. 配置 tomcat 7 + Dynamic web model version 3 发现写 web.xml 导致 tomcat 不能启动. 解决办法:tomcat 7 之后有两种配置 servl ...
- easyUI datagrid表头的合并
图列: js代码 function initConfigTable(param){ $("#mulConfigureTableBox").empty(); $("#mul ...
- Ubuntu_18.04安装网易云音乐
首先到网易云音乐官网下载网易云音乐,ubuntu版的,安装. 这时候的图标打不开,缺少libcanberra sudo apt install libcanberra-gtk-module 安装完了配 ...
- How to check Open vSwitch version and supports OpenFlow version
Open vSwitch (OVS) is an open-source virtual switch, featuring programmable switch forwarding capabi ...