博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识AJAX
阅读量:4884 次
发布时间:2019-06-11

本文共 1512 字,大约阅读时间需要 5 分钟。

初识AJAX

一、HTTP协议(HTTP/1.1)

请求报文

头行

头部
主体

响应报文

头行(状态码)

头部(expires缓存期限)
主体(HTML文件)

二、HTTP方法

1.GET-从服务器获取一份文档

不安全:用URL传递参数,对任何人可见
幂等:GET请求的次数不会改变信息(不是特别理解,先写下)
对发送信息的数量有限制(200个字符)
2.POST-向服务器发送需处理的数据
对发送信息的数量无限制
3.PUT-将请求的主体存储在服务器上
4.DELETE-从服务器删除一份文档

三、常见状态码

200 OK-请求成功

301 Moved Permanently-资源移动,浏览器自动跳转
304 Not Modified-资源未修改,浏览器读取缓存数据
400 Bad Request-请求语法错误,服务器无法理解
404 Not Found-未找到资源
500 Internal Server Error-服务器内部错误
首位数决定了状态码类型
1:服务器收到请求,正在处理
2:成功
3:重定向
4:客户端错误
5:服务器错误

四、AJAX(Asynchronous JavaScript and XML异步的JS和XML)

实例化一个XHR对象(兼容版)

方法一

function getHTTPObject() {

if (typeof XMLHttpRequest == "undefined")
XMLHttpRequest = function() {
try {return new ActiveXObject("Msxml2.XMLHTTP.6.0");}
catch(e) {}
try {return new ActiveXObject("Msxml2.XMLHTTP.3.0");}
catch(e) {}
try {return new ActiveXObject("Msxml2.XMLHTTP");}
catch(e) {}
return false;
}
return new XMLHttpRequest();
}

方法二

var xhr;

if(window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
} else {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}

XHR方法

xhr.open()

xhr.setRequestHeader() //POST使用
xhr.send() //POST时需有参数

取得响应

xhr.responseText //字符串形式的响应数据

xhr.responseXML //XML形式的响应数据
xhr.status\xhr.statusText //数字、文本形式的状态码
xhr.getAllResponseHeader() //获取所有响应头
xhr.getResponseHeader() //获取响应头中的某字段

readyState属性(服务器响应的变化)

0:未初始化,open未调用

1:连接建立,open调用
2:请求已接收,服务器已接收头信息
3:请求处理中,已接收主体
4:请求已完成,响应就绪

xhr.onreadystatechange = function() {

if (xhr.readyState == 4 && xhr.status == 200) {
//do something
}
}

转载于:https://www.cnblogs.com/qiuchen/p/4752872.html

你可能感兴趣的文章
关于学习的一些感悟
查看>>
制作无广告启动盘
查看>>
python使用httplib2访问REST服务的例子
查看>>
经典代码(01)
查看>>
生成ico格式图标
查看>>
并查集hdu4424
查看>>
jdbc之分页查询
查看>>
sbrk and coreleft
查看>>
树型DP
查看>>
怎么在ubuntu上使用pidgin登陆QQ
查看>>
思维的惰性
查看>>
【Android】学习记录<1> -- 初识ffmpeg
查看>>
关于IAsyncResult接口的CompletedSynchronously属性
查看>>
编译原理——算符优先分析文法(附源代码)
查看>>
jboss的启动过程
查看>>
渲染部分
查看>>
力扣——所有可能的路径
查看>>
关于VS项目平台的x86,x64,Any CPU以及Debug和Release的区别
查看>>
解密module_init幕后的故事
查看>>
9个移动网站优化的最佳实践
查看>>