关于ajax的基础知识

一、是什么

  一种异步请求数据的web开发技术,对于改善用户体验和页面性能很有帮助。简单的说就是在不需要刷新页面的情况下实现局部dom的更新。应用场景如:模糊查询以及验证提示等。

二、原理

  因为js是一个单线程的脚本语言,那么他是如何实现ajax异步的呢?这就得益于流浪器提供的一个XMLHttpRequest对象。我们举个例子:领导想找小李让其汇报下工作。

    1、领导告诉秘书叫小李过来

    2、领导接着干别的事儿

    3、秘书去叫小李

    4、秘书领小李过来

    5、秘书告诉领导小李来了

    6、小李向领导汇报工作

  以上基本可以模拟ajax的请求过程,其中XMLHttpRequest对象就扮演了秘书一角色,使得流浪器可以发出http请求接收http响应。流浪器发出请求之后就可以做其他的事情了,等收到XMLHttpRequest对象返回的数据就开始渲染页面。

三、使用

<script type="text/javascript">
    var xhr = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    xhr.open("POST","test.html",true);  
    xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");//post方法要设置请求头  
    xhr.send("fname=Henry&lname=Ford");  //post请求参数放在send里面,即请求体


    //1、同步处理
    document.getElementById("xxx").innerText = xhr.responseText
    //2、异步处理
    xhr.onreadystatechange=function(){
        if(xhr.readyState == 4 && xhr.status ==200){
            document.getElementById("xxx").innerText = xhr.responseText
        }
    }
</script>

猜你喜欢

转载自www.cnblogs.com/helloNico/p/10976497.html