关于ajax

1. 什么是ajax

  asynchronous :异步 synchronous同步

  javascript :核心技术还是javascript

  xml:主要保存和传输数据

  直译:异步的javascript和xml

  就是可与服务器进行异步或者同步交互一门技术.

  同步交互:指一个时间段内只能有一个进程在执行.

  异步交互:指一个时间段内可以有多个进程在执行

  Ajax特点:无刷新(用户体验比较好)

  使用ajax的好处:一个时间段内可以有多个进程在执行

2.创建ajax对象 

  主流浏览器(google,火狐,猎豹,360,高版本的IE(8以上)):

  var xhr=new XMLHttpRequest();重点掌握

  低版本的IE浏览(IE6,IE7,IE8):(了解下)

  var xhr=ActiveXObject('Microsoft.XMLHTTP')

  更低版本的IE浏览器创建ajax对象的方式:

  //更低版本IE浏览器(IE5,IE4)

  var xhr=ActiveXObject('Msxml2.XMLHTTP')

  var xhr=ActiveXObject('Msxml3.XMLHTTP')

封装创建ajax对象的函数:

  

  function Xhr(){
    try{
    return new XMLHttpRequest();
    }catch(e){

    }
  
    try{
    return new ActiveXObject("Microsoft.XMLHTTP");
    }catch(e){

    }

    alert("请更换浏览器");
    }
  var a =Xhr();
  alert(a);

3.常用方法

  open(menthod,url,saync)建立一个http链接

  method:请求的方法,get/post

  url:请求的url地址

  async:是否异步请求,默认为true(异步),false(同步)

  send(content):发送一个Http请求

  Getpost方法比较:
     POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

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

    无法使用缓存文件(更新服务器上的文件或数据库)

    向服务器发送大量数据(POST 没有数据量限制)

    发送包含未知字符的用户输入时,POST GET 更稳定也更可靠

  content:发送请求的数据

    如果是get请求content直接写null

    如果是post请求要拼接字符串,形如name=xiaoming&age=20

  setRequestHeader(header,value)设置请求头

  header:请求头名称

  value:请求头的值

  abort:终止一个ajax请求 

常用属性:

  readyState:ajax请求的状态,有五个值0,1,2,3,4

  0:初始化对象还没有调用open()方法

  1: 已经调用了open()方法 .还没有调用send()方法

  2:已经调用了send()方法

  3.已经开始接受服务器返回来的数据,但是不完整.

  4:完全接收服务器返回来的数据,请求完毕

  onreadystatechange :

    可以监听ajax状态的一个改变 只能监听1,2,3,4状态,因为状态0没有一个相对变化的过程.

  status :http响应状态码

    200:ok 404:not found 304 :not modified ,5XX(一般都是服务器相关的错误)

  responseText :

    接收服务器返回来的字符串数据.(html.css,js). php echo 'fasfd';

  responseXML :

    接收服务器返回来的xml数据. php: echo $xml;

  

原文地址:https://www.cnblogs.com/shangXR/p/9699663.html