13.Ajax技术

本文详细介绍了Ajax的实现方法,包括原生JavaScript通过XMLHttpRequest对象及jQuery的$.ajax、$.get、$.post等便捷接口,展示了如何通过Ajax在前后端交互中动态加载HTML内容。

目录

一、Ajax知识点总览。

二、原生js方式实现Ajax:

三、$.ajax()方式。

四、$.get()方式。

五、$.post()方式。

六、通过ajax将html文件内容导入另一个html文件。


一、Ajax知识点总览。

二、原生js方式实现Ajax:

原生js方式的Ajax:
    <script>
        //老版本的 Internet Explorer(IE5 和 IE6)不支持 XMLHttpRequest 对象。
        //为了对付 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象,亦或创建 ActiveXObject 对象
        //定义方法
        function fun(){
            //放松异步请求
            //1.创建核心对象
                var xmlhttp;
                if (window.XMLHttpRequest) {
                    // 用于现代浏览器的代码
                    xmlhttp = new XMLHttpRequest();
                } else {
                    // 应对老版本 IE 浏览器的代码
                    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
                }
            //2.建立连接
                        /*
                              参数:
                                    1.请求方式:GET/POST
                                        * get方式:请求参数在URL后面拼接,send方法为空参
                                        * post方式:请求参数在send方法中定义
                                    2.请求的URL:要访问的服务器资源路径
                                    3.同步或异步请求:同步false、异步true
                         */
                xmlhttp.open("GET", "/ajaxServlet?username=tom", true);
            //3.发送请求
                xmlhttp.send();//get方式
                // xmlhttp.send("username=tom");//post方式
            //4.接收并处理来自服务器的响应结果
                    //获取响应数据方式:xmlhttp.responseText()
                    //什么时候获取?当服务器响应成功后再获取
            //当xmlhttp对象就绪状态改变时,就触发事件onreadystatechange(理解:readyState(0-4)改变的时候触发该事件,然后if判断是否响应成功,成功就获取数据)
            //每当readyState 属性改变时,就会调用该函数。即 触发事件
            xmlhttp.onreadystatechange=function()
            {
                //判断readyState就绪状态是否为4,并且status状态码为200
                if (xmlhttp.readyState==4 && xmlhttp.status==200)
                {
                    //获取服务器的响应结果
                    // document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
                    let responseText = xmlhttp.responseText;
                    alert(responseText);
                }
            }
        }
    </script>
<input type="button" value="发送异步请求" onclick="fun();">
<!--同步的时候发送请求后,点击文本输入框,获取不了焦点-->
<input>

三、$.ajax()方式。

<script>
  //定义方法
  function fun(){
      //使用$.ajax()发送异步请求
      //注意:每一个键值对的结束都要逗号结束,不然出错(最后一个键值对可用可不用)
    $.ajax({
        url:"/ajaxServlet",//请求路径,一定要斜杠,不然会出错
        type:"post",//请求方式
        // data:"username=jack&age=23",//请求参数
        data:{"username":"jack","age":23},//请求参数,JSON方式
        success:function (data) {
            alert(data);
        },//响应成功后的回调函数
        error:function () {

        },//请求或响应出现错误,会执行的回调函数。比如路径出错
        dataType:"text"
    });
  }
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>

四、$.get()方式。

<script>
  function fun(){
    $.get("/ajaxServlet",{"username":"rose","age":23},function (data) {
      alert(data);
    },"text");//后面三个参数是可选的,可不写
  }
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>

五、$.post()方式。

<script>
  function fun(){
    $.post("/ajaxServlet",{"username":"rose","age":23},function (data) {
      alert(data);
    },"text");//后面三个参数是可选的,可不写
  }
</script>
<input type="button" value="发送异步请求" onclick="fun();">
<input>

六、通过ajax将html文件内容导入另一个html文件。

$(function () {
    $.get("header.html",function (data) {
        $("#header").html(data);
    });
    $.get("footer.html",function (data) {
        $("#footer").html(data);
    });
});

<!--引入头部-->
<div id="header"></div>

    正文...

<!--导入底部-->
    <div id="footer"></div>

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值