ajax基础知识总结

关于ajax
ajax是异步的JavaScript和XML,优点是无刷新的与后台通信并获取数据,只更改页面中需要更改的部分,而不是刷新整个页面,减少无意义的数据传输,提高了效率和用户体验。

HTTP请求过程

1、建立TCP连接
2、Web浏览器向服务器发送请求命令
3、Web浏览器发送请求头信息
4、Web服务器应答
5、Web服务器发送应答头信息
6、Web服务器想浏览器发送数据
7、Web服务器关闭TCP连接
*TCP:Transmission Control Protocol 传输控制协议

HTTP请求

GET请求:一般用于信息获取
        使用url传递参数
        对发送的信息的数量有限制,一般在2000字符
        幂等:每次只是GET,没有修改服务器上的信息     

POST请求:一般用于修改服务器上的资源
         对发送的信息的数量无限制

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

HTTP响应

1、数字和文字组成的状态吗,显示请求是成功还是失败。客户端不知道请求的成功
2、响应头:和请求头一样包含服务端的信息,如服务器类型,内容类型和长度
3、响应正文

HTTP状态码

1XX:信息类,表示收到Web浏览器的请求,处理中;
2XX:成功:表示用户请求被正确接收,理解和处理  200 OK
3XX: 重定向:表示请求没有成功,客户要采取进一步动作
4XX:客户端错误,表示客户端提交的请求有错误。 404 NOTFound,意味着请求中引用的文档不存在    
5XX:服务器错误,表示服务器不能完成对请求的处理  500

XMLHttpRequest取得响应

responseText:获得字符串形式的响应数据
responseXML:获得XML形式的响应数据
status和statusText:以数字和文本形式返回HTTP状态码
getAllResponseHeader():获取所有的响应报头
getResponseHeader():获取响应中某个字段的值
readyState属性
0:请求未初始化,open还没有调用
1:服务器连接已建立,open已经调用了
2:请求已接收,接收到头信息了
3:请求处理中,接收到响应主体了
4:请求已完成,且响应已就绪,响应完成了
例子:
var request = new XMLHttpRequest(); request.open('GET','get.php',true); request.send(); request.onreadyState() = function() { if(request.readyState === 4 && request.status ===200){ //do sth } }
原文地址:https://www.cnblogs.com/iriliguo/p/6623842.html