AJAX的问题

Posted xin9984

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了AJAX的问题相关的知识,希望对你有一定的参考价值。

1.什么是AJAX

AJAX即“Asynchronous javascript And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。

 AJAX:Asynchronous Javascript And XML,异步的JS和XML。

2002年Google在搜索引擎中提出了“Google Suggest”效果,把使用的技术命名为“AJAX”,为了避免浏览器中出现“一片惨白”影响浏览体验。

 实现原理:在客户端浏览网页内容的同时,服务器在提供最新的内容,局部更新在页面中——无提交无刷新的页面内容局部更新技术

 AJAX应用涉及到的技术:html、CSS、JS、DOM、XML、HTTP协议等——纯前端技术,需要与Web服务器交互。

2.浏览器发起HTTP请求的两种方式:

(1)同步请求:地址栏、表单提交、超链接跳转、JS跳转

(2)异步请求:使用XHR对象

3.使用XHR发起HTTP请求的步骤

 1 创建xhr对象

  var xhr = new XMLHttpRequest();

 2 监听xhr的状态改变事件

  xhr.onreadystatechange = function(){

  if(xhr.readyState===4){ //响应消息接收完成

  if(xhr.status===200){ //响应完成且成功

  }else{ //响应完成但有问题

   }}}

  3 连接到服务器

   xhr.open(‘GET‘, ‘x.php‘, true);

  4 发送请求消息

   xhr.send( null / ‘k=v&k=v‘ );

4.XHR对象成员属性:

  1. readyState:0    就绪状态,随着请求-响应的进行自动改变
  2. response:""
  3. responseText:""    响应消息主体,readyState变为3才有值
  4. responseType:""
  5. responseURL:""
  6. responseXML:null  响应消息主体,readyState变为3才有值
  7. status:0     响应状态码readyState变为2有值
  8. statusText:""    原因短句,readyState变为2有值
  9. timeout:0
  10. DONE:4    readyState可取值之一,响应消息接收完成
  11. HEADERS_RECEIVED:2    readyState可取值之一,开始接收响应消息头部
  12. LOADING:3    readyState可取值之一,开始加载响应消息主体
  13. OPENED:1    readyState可取值之一,XHR已经打开到服务器的连接
  14. UNSENT:0     readyState可取值之一,请求消息尚未发送

5.XHR对象成员方法:

  1. getAllResponseHeaders:getAllResponseHeaders()
  2. getResponseHeader:getResponseHeader()   读取响应头部
  3. setRequestHeader:setRequestHeader()    设置请求头
  4. open:open()    打开到服务器的连接
  5. send:send()    发送请求消息

 

以上是关于AJAX的问题的主要内容,如果未能解决你的问题,请参考以下文章

ajax初级问题,重谢!

如何解决ajax跨域问题

Ajax常见的问题

一个简单的ajax问题

AJAX跨域问题

ThinkPHP 中使用 IS_AJAX 判断原生 JS 中的 Ajax 出现问题