Ajax

Posted xdl-smile

tags:

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

AJAX - 阿贾克斯
    1、什么是AJAX
        AJAX:Asynchronous javascript And Xml(异步JS和Xml)
            同步访问:
                当客户端向服务器发送请求时,服务器在处理过程中,浏览器只能等待
                缺点:整个网页会刷新
            异步访问:
                当客户端向服务器发送请求时,服务器在处理过程中,浏览器可以做其他的事情,不需要一直等待,效率较高
                优点:局部刷新
        使用场合:
            1、搜索建议
            2、表单验证
            3、前后端完全分离
    2、AJAX核心对象 异步对象 - XMLHttpRequest
        1、什么是XMLHttpRequest
            主要称为‘异步对象’,代替浏览器向服务器发送请求并接收响应
            该对象主要由JS来提供
        2、创建异步对象
            主流的异步对象是XMLHttpRequest类型的,并且主流的浏览器(IE7+,Chrom,FireFox,Safari,Oper)已经全部支持该对象。低版本浏览器(IE7,IE6)是无法使用XMLHttpRequest,需要使用ActiveXObject来创建异步对象

            判断浏览器是否支持XMLHttpRequest
            if(window.XMLHttpRequest){
                //如果浏览器支持XMLHttpRequest的话,window.XMLHttpRequest则是一个非undefined的值,
                //如果浏览器不支持的话,此处就是一个undefined
                var xhr = new XMLHttpRquest();
            }else{
                //浏览器不支持XMLHttpRequest
                var xhr = new ActiveXobject("Microsoft.XMLHTTP");
            }

function createXhr(){
    if(window.XMLHttpRequest){
        return new XMLHttpRequest();
    }else {
        return new ActiveXObject(‘Microsoft.XMLHTTP‘);
    }
}
<button onclick="getXhr()">创建XHR</button>
    <script src="/static/js/common.js"></script>
    <script>
        function getXhr(){
            console.log(createXhr())
        }
    </script>
   <button onclick="getXhr()">创建XHR</button>
    <script>
        function getXhr(){
            //判断浏览器是否支持xhr
            console.log(window.XMLHttpRequest)
            if(window.XMLHttpRequest){
                var xhr = new XMLHttpRequest();
                console.log(xhr);
            }else{
                var xhr = new ActiveXObject(Microsoft.XMLHTTP);
            }
        }
    </script>

 





























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

Javascript代码片段在drupal中不起作用

前端面试题之手写promise

Ajax 片段元标记 - Googlebot 未读取页面内容

执行AJAX返回HTML片段中的JavaScript脚本

javascript AJAX片段

Spring MVC 3.2 Thymeleaf Ajax 片段