Ajax及HTTP状态值
2018-03-22 10:10
239 查看
一、Ajax是什么,工作原理
1、Ajax(Asynchronous JavaScript And XML——-异步的 JavaScript 和 XML)2、通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。
工作原理
二、XMLHttpRequest对象
Ajax的核心是XMLHttpRequest对象(简称XHR)XMLHttpRequest用于后台与服务器交换数据
function createXMLHttpRequest(){ //创建异步对象 try { return new XMLHttpRequest(); //大多数浏览器 } catch (e) { try { return ActiveXobject("Msxm12.XMLHTTP");//IE6.0 } catch (e) { try { //IE5.5以及更早的版本 return ActiveXobject("Microsoft.XMLHTTP"); } catch (e) { alert("你用的什么浏览器~~~~"); throw e; } } } }
var xmlHttp = createXMLHttpRequest(); //创建异步对象
二、XHR(XMLHttpRequest)的用法
a、在使用XHR对象时,要调用的第一个方法是open(method,url,async);
method : 要发送的请求的类型(get/post一般是大写)url: 请求的地址(相对路径或绝对路径)—文件在服务器上的位置
async: 表示是否异步发送请求的布尔值 true(异步)或 false(同步)
注意:
1、URL:相对于执行代码的当前页
2、调用open()方法并不会真正发送请求,而只是启动一个请求以备发送
b、要发送特定的请求,还需要send()方法
send()方法接收一个参数,即要求作为请求体发送的数据(get方法调用send时传入null)
(GET)
(POST)
c、XMLHttpRequest取得响应
1、reponseText: 获得字符串形式的响应数据2、reponseXML:获得XML形式的响应数据
3、status和statusText: 以数字和文本形式返回HTTP状态码(status:响应的HTTP状态:200、404、500、302********statusText:“OK”)
4、getAllResponse
a706
Header: 获取所有的响应报头
5、getResponseHeader(): 查询响应中的某个字段的值
d、接收到响应后,第一步检查status属性,以确定响应已经成功返回
e、要发送异步请求时,可以检测XHR对象的readyState属性,该属性表示请求/响应过程的当前活动阶段
这个属性的可取值:0:未初始化,尚未调用open方法
1:启动,服务器连接已建立,open方法已经调用,但尚未调用send方法
2:发送,已经调用send方法,(请求已接收)但尚未接收到响应
3:接收,请求处理中(交互,正在解析响应内容,即服务器开始响应了,但不表示响应结束了)
4:完成,已经接收到全部相应数据,而且已经可以在客户端使用了(请求已完成,且响应已就绪)
注意:
只要readyState属性的值由一个值变成了另一个值,都会触发一次readystatechange事件(可以利用这个事件来检测每次状态变化后的readyState值)
如上图所示:当readyState等于4且HTTP状态码为200作为成功标志,去做你想做的事情
相关文章推荐
- JavaScript学习总结(七)Ajax和Http状态字
- HTTP状态代码及其定义,Ajax捕捉回调错误参考
- http cancelled状态与ajax 超时
- Ajax和Http状态字
- HTTP状态代码及其定义,Ajax捕捉回调错误参考
- AJAX参数及各种HTTP状态值
- XMLHttpRequest 对象(AJAX)的状态码(readyState)及HTTP 状态代码(status)的对照表
- AJAX(XMLHttpRequest.status)状态码
- AJAX中XMLHttpRequest对象readyState属性的状态值含义
- JavaScript学习总结(七)Ajax和HTTP状态字
- HTTP状态代码及其定义,Ajax捕捉回调错误参考
- 在ajax需要了解的五种http就绪状态码
- js原生创建封装ajax的方法,附XMLHttpRequest状态码
- XMLHttpRequest 对象(AJAX)的状态码(readyState)及HTTP 状态代码(status)的对照表
- http请求状态码status和ajax请求状态值readystate
- HTTP状态代码及其定义解析 Ajax捕捉回调错误参考
- 掌握 Ajax,第 3 部分: Ajax 中的高级请求和响应 全面理解 HTTP 的状态代码、就绪状态和 XMLHttpRequest 对象
- ajax XMLHttpRequest.readyState: 状态码 0 - (未初始化)还没有调用send()方法 解决了
- 【前端知识点】你所不了解的Ajax和Http状态字
- ajax请求 http状态为 canceled