1、XMLHttpRequst的出现才有了异步处理

2、创建XmlHttpRequest对象

var request=new XMLHttpRequest();

注意:如果要兼容IE6以下浏览器则需要编写如下代码

var request;

if(window.XMLRequest){

request=new XMLRequestHttpRequest();  //IE7、IE8、360等

}else{

request=new ActiveXObject("Microsoft.XMLHTTP");//IE5、IE6

}

3、XMLHttpRequest发送请求

(1)open(method,url,async),参数的意义如下

method:GET或者POST请求方法

url:相对地址或者绝对地址

async:true或者false,默认是true,表示异步

(2)send(String)

GET请求无参数,POST请求时一定要有参数

举例A:

request。open("GET",'getDate',true);

request.send();

举例B:

request.open("POST","getDate",true)

//默认是"application/x-www-from"-urlencoden"方式提交,如果是提交文件,则需要修改成为multipart/form-data方式提交

request.setRequestHeader("Content-type","application/x-www-from"-urlencoden");

request.send("name=王二&age=25");

4、XMLHttpRequest取得响应

(1)responseText:获得字符串形式的响应数据

(2)responseXML:获得xml形式的响应数据

(3)status和statusText:以数字和文本形式返回Http转态码

(4)getAllResponseHeader():获得所以得响应报头

(5)getResponseHeader():查询响应中的某个字段的值

(6)readState属性

"0"请求未初始化,open还未调用

"1":服务器连接已经建立,open已调用

"2":请求已接收,也就是接收到头信息了

"3":请求处理中,也就是接收到响应主体了

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

举例:

var  request;

request.open("GET","getDate",true);

request.send();

//监听返回的转态,200和4代表响应成功

request.onreadystatechange=fuction(){

if(request.readstate==4&&request.status==200){

//需要处理的事务

}

}

6、HTTP请求:是一种规则,无状态,无记忆

HTTP请求过程

(1)建立TCP连接

(2)web浏览器向web服务器发送请求指令

(3)web浏览器发送请求头信息

(4)web服务器应答

(5)web服务器发送应答头信息

(6)web服务器向浏览器发送数据

(7)web服务器关闭TCP连接

A、HTTP请求的4个·组成部分

a、HTTP请求方法或者动作(GET/POST)

b、正在请求的URL

c、请求头,包含客户环境信息、身份信息等

d、请求体(正文),包含客户提交的查询字符串信息、表单信息

B、POST和GET方法

GET:(1)用于信息获取

(2)使用URL传递参数

(3)String<=2000个字符左右

POST:(1)用于修改服务器上的资源

(2)String<=无穷大

C、一个HTTP响应由三个部分组成

a、一个数字和文字组成的转态码。作用:显示请求是否成功

b、响应头,包含服务器类型、日期、内容类型、长度等

c、响应体,即响应正文,字符串、HTML等

D、HTTP状态码由3个数字构成,其中首位数字定义了状态码的类型

1^^:信息类,表示收到web请求,正在进行处理中

2^^:成功,表示用户请求被正确接收、理解和处理,如200

3^^:重定向,表示请求未成功,客户必须采取动作

4^^:客户端错误,客户提交的信息有误,如400

found:意味着请求中所引用的文档不存在

5^^:服务器错误(最难处理的问题),表示服务器不能完成请求处理,如500

ajax异步请求详解的更多相关文章

  1. AJAX请求详解 同步异步 GET和POST

    AJAX请求详解 同步异步 GET和POST 上一篇博文(http://www.cnblogs.com/mengdd/p/4191941.html)介绍了AJAX的概念和基本使用,附有一个小例子,下面 ...

  2. [转]JavaScript异步机制详解

    原文: https://www.jianshu.com/p/4ea4ee713ead --------------------------------------------------------- ...

  3. MVC之Ajax.BeginForm使用详解之更新列表 mvc验证jquery.unobtrusive-ajax

    MVC之Ajax.BeginForm使用详解之更新列表   1.首先,请在配置文件设置如下:(该项默认都存在且为true) <add key="UnobtrusiveJavaScrip ...

  4. $.ajax()所有参数详解

    原文:https://www.cnblogs.com/everest33Tong/p/6159700.html [一]$.ajax()所有参数详解 url: 要求为String类型的参数,(默认为当前 ...

  5. ajax方法参数详解与$.each()和jquery里面each方法的区别

    JQuery中$.ajax()方法参数详解 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为g ...

  6. JavaEE基础(03):Http请求详解,握手挥手流程简介

    本文源码:GitHub·点这里 || GitEE·点这里 一.Http协议简介 1.概念说明 HTTP超文本传输协议,是用于从万维网服务器传输超文本到本地浏览器的传送协议,基于TCP/IP通信协议来传 ...

  7. 黑马eesy_15 Vue:03.生命周期与ajax异步请求

    黑马eesy_15 Vue:02.常用语法 黑马eesy_15 Vue:03.生命周期 黑马eesy_15 Vue:04.Vue案例(ssm环境搭建) vue的生命周期与ajax异步请求 1.Vue的 ...

  8. ajax异步请求

    做前端开发的朋友对于ajax异步更新一定印象深刻,作为刚入坑的小白,今天就和大家一起聊聊关于ajax异步请求的那点事.既然是ajax就少不了jQuery的知识,推荐大家访问www.w3school.c ...

  9. spring HandlerInterceptorAdapter拦截ajax异步请求,报错ERR_INCOMPLETE_CHUNKED_ENCODING

    话不多说,直接上正文. 异常信息: Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODING 问题描述: 该异常是在页面发送ajax请 ...

随机推荐

  1. 关于Tomcat的点点滴滴(体系架构、处理http请求的过程、安装和配置、文件夹结构、设置压缩和对中文文件名称的支持、以及Catalina这个名字的由来……等)

    总结Tomcat的体系架构.处理http请求的过程.安装和配置.文件夹结构.设置压缩和对中文文件名称的支持.以及Catalina这个名字的由来--等. Tomcat和JVM: 一个Tomcat仅仅会启 ...

  2. Struts2之类型转换器的使用

    一.学习案例:通过在输入页面(input.jsp)用同一个输入框同一时候输入username和password,通过类型转换器在输出页面(output.jsp)分别输出username和passwor ...

  3. SOJ.Output the Yanghui triangel

    Output the Yanghui triangel     总提交数量: 225 通过数量: 59                 时间限制:1秒    内存限制:256兆 题目描写叙述 Writ ...

  4. 2014年最简单、快捷的美股Scottrade开户攻略

    [开篇重点提示] 1.scottrade是国内用户用得最多的美股证券交易平台. 2.不用邮寄纸质资料,网上开户全搞定. 3.申请表格填写优惠代码,获取免费3次交易费用,鄙人的推荐优惠代码是 87195 ...

  5. 70.资金管理-福利表管理 Extjs 页面

    1. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8&quo ...

  6. 关于pycharm中pip版本10.0无法使用的解决办法

    背景: 近期在利用 pycharm 安装第三方库时会提示 pip 不是最新版本, 因此对 pip 进行更新,但是生成最新版本之后, pip 中由于缺少 main 函数,导致在 pycharm 中无法自 ...

  7. codevs 2541 幂运算(迭代加深搜索)

    2541 幂运算  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond     题目描述 Description 从m开始,我们只需要6次运算就可以计算出m31 ...

  8. [Swift通天遁地]二、表格表单-(7)电子邮件Mail:实现单元格左右滑动调出功能按钮

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  9. .Net Core开源小工具mssql2mysql,从mssql生成mysql脚本

    Microsoft SQL Server to MySQL 这个工具用于从MSSQL生成MySQL脚本,生成的脚本包含表结构和数据 安装 这是一个.Net Core的具具,所以需要先安装.net co ...

  10. Centos7基本命令

    shell基本命令 linux命令行的组成结构 linux系统命令操作语法格式 命令 空格 参数 空格 文件路径或者需要处理的内容 rm   -rf   /tmp/* ls   -la   /home ...