ajax的工作原理以及异步请求的封装介绍

Ajax原理:

  客户端通过浏览器的内置对象XMLHttpRequest来发送异步请求,当服务器返回响应时,会调用先前注册的回调函数,在回调函数中可以使用javascript操作DOM来更新页面,异步请求不会阻塞客户端的操作,达到页面无法刷新就可以更新数据的效果。

  异步请求的封装:

  

复制代码 代码如下:

  var xhr=false;

  //step1:创建一个兼容浏览器各个版本的XMLHttpRequest对象

  if (window.XMLHttpRequest) { //IE7+, Firefox, Chrome, Opera, Safari

  xhr = new XMLHttpRequest();

  } else {

  if (window.ActiveXObject) { //IE浏览器

  xhr = new ActiveXObject("Microsoft.XMLHTTP");//IE5+

  }

  }

  //step2:设置回调函数

  xhr.onreadystatechange = myCallback;

  //step3:创建一个异步请求

  xhr.open("method", "url", true);

  //如果是post:要设置请求消息体数据的编码方式

  xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

  //step4:发送异步请求

  xhr.send(content); //如果是get方式 content为null,若为post,content为“名=值”对。