ajax

ajax是什么?

  • AJAX 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。
  • 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

基础/核心

XMLHttpRequest 对象
XMLHttpRequest 用于在后台与服务器交换数据。意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

请求过程

1. 创建XMLHttpRequest对象

if(window.XMLHttpRequest){
    var xhr = new XMLHttpRequest();   //现代浏览器
}else{
    var xhr = new ActiveXObject("Microsoft.XMLHTTP");  //ES6
}

2. 设置请求方式

xhr.open('get', 'demo.php', true); //对于demo.php的get请求,false同步true异步

3. 调用回调函数 接受服务器返回信息

xhr.onreadystatechange = function(){  //监听请求状态变化
    if(xhr.readyState==4){            //响应就绪时执行
        if(xhr.status==200){          //判断HTTP返回码是否正确返回数据
            var data = JSON.parse(xhr.responseText);//获取返回的数据 
            var str = "";
            for(var i = 0; i < data.length; i++){   //处理返回数据
                str += "<li>"+data[i]+"</li>";
            }
            oList.innerHTML = str;                   //写入页面
        }else{
            oTip.innerHTML = "请求失败,请重试";
        }
    }   
}

XMLHttpRequest状态值readyState

  • 0 请求未初始化
  • 1 服务器连接己建立
  • 2 请求已接收
  • 3 处理请求,响应中
  • 4 响应就绪
    注:请求后不论能否返回数据,xhr.readyState的值都会变成4为响应成功。(无论访问是否成功都将响应的步骤)

XMLHttpRequest状态码status

  • 200 - 请求成功
  • 301 -Moved Permanently 资源(网页等)被永久转移到其它URL
  • 304 -Not Modified 使用缓存文档
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误
    注:无论ajax访问是否成功,由HTTP协议根据所提交的信息,服务器所返回的HTTP头信息代码、

ajax封装

ajax封装.PNG
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。