jQuery中的Ajax

终有一日同风气,扶摇直上九万里,愿你以渺小启程,以伟大结束在这里插入图片描述

jQuery中的Ajax

jQuery不仅对JavaScript语言进行了封装,也对Ajax异步交互进行了封装。

jQuery提供六个Ajax操作的方法:

  • load()方法
  • $.get()方法和$.post()方法
  • $.ajax()方法
  • $.getScript()方法和$.getJSON()方法

jQuery还提供了以下几种事件:

  • ajaxStart()ajaxStop()事件
  • ajaxComplete()事件、ajaxSend()事件、ajaxError()事件和ajaxSuccess()事件

load()方法

load()方法是jQuery中最为简单的Ajax方法

$element.load(url,[data],[callback]);
  • url:请求HTML页面的url地址。
  • data:发送给服务器端key/value形式的数据内容
  • callback:Ajax请求完成时的回调函数

注意:load()方法的请求方式由是否传递参数决定。即传递参数,为GET方法;不传递参数,为POST方式。

<button>按钮</button>

    <script src="jquery-3.5.1.js"></script>

    <script>
        $('button').click(function(){
            /*
                load(url,data,callback)方法
                  参数
                    url - 异步请求的地址
                    data - 异步请求的数据
                      如果省略请求数据的话,当前的请求方法为GET
                      如果发生请求数据的话,当前的请求方式为POST
                    callback - 异步请求成功后的回调函数
                  返回值 - 服务器端的响应结果
                  注意 - 自动将返回结果写入到目标元素中
            */
           $('button').load('sever1.json',{name : '张无忌'},function(){
               console.log('异步请求成功……')
           });
        });
    </script>

$.get()方法和$.post()方法

$.get()方法使用GET方式向服务器端发送异步请求。

$.get(url,[data],[callback],[type]);
  • url:请求HTML页面的url地址。
  • data:发送给服务器端key/value形式的数据内容
  • callback:Ajax请求完成时的回调函数
  • type:设置返回数据内容的格式。值为xml、html、script、json、text和_default

$.post()方法使用POST方式向服务器端发送异步请求。

$.post(url,[data],[callback],[type]);
  • url:请求HTML页面的url地址。
  • data:发送给服务器端key/value形式的数据内容
  • callback:Ajax请求完成时的回调函数
  • type:设置返回数据内容的格式。值为xml、html、script、json、text和_default

代码:

<button>按钮</button>

    <script src="jquery-3.5.1.js"></script>
    <script>
        $('button').click(function(){
            /*
                get(url,data,cllback,type)方法 - 请求方式为GET
                  参数
                    url - 异步请求的地址
                    data - 异步请求的数据
                    callback - 异步请求成功后的回调函数
                    type - 设置返回数据内容的格式。值为xml、html、script、json、text等
            */
           $.get('sever2.json',{name:'张无忌'},function(response){
               console.log(response);
           },'json');

            /*
            post(url,data,cllback,type)方法 - 请求方式为POST
              参数
                url - 异步请求的地址
                data - 异步请求的数据
                callback - 异步请求成功后的回调函数
                type - 设置返回数据内容的格式。值为xml、html、script、json、text等
        */
        });
    </script>

$.ajax()方法

$.ajax()方法是jQuery中最为底层的Ajax方法

$.ajax(url,[settings]);
  • url:请求html页面的url地址
  • settings:key/value形式的请求设置,所有参数都是可选的
<button>按钮</button>

<script src="jquery-3.5.1.js"></script>

<script>
    $('button').click(function(){
        /*
             $.ajax(url,[settings])方法
             参数
              url - 请求地址
              settings - 设置异步请求的参数
             settings选项 - 对象类型
               type - 设置请求方法
               data - 发送给服务器端的请求数据
               dataType - 服务器端响应结果的格式
               success - 异步请求成功后的回调函数
                 function(data,textStatus,jqXHR){}
                   data - 表示服务器端响应的结果
                   textStatus - 表示服务器端当前的状态
                   jqXHR - Ajax中的核心对象
        * */
        $.ajax('sever1.json',{
            type : 'get',
            dataType : 'text',
            success : function(data){
                console.log(data);
            }
        });
    });
</script>

效果:
在这里插入图片描述

$.getScript()方法

$.getScript()方法是jQuery中用于动态加载指定JavaScript文件

$.getScript(url,[callback]);
  • url:请求JavaScript文件中的url地址
  • callback:指定JavaScript文件成功加载后的回调函数

代码:

<button>按钮</button>

<script src="jquery-3.5.1.js"></script>

<script>
    $('button').click(function(){
        //动态加载指定JavaScript文件,并且执行
        $.getScript('server3.js',function(){
            console.log(data);
            eval(data);
        });
    });
</script>

$.getJSON()方法

$.getJSON()方法是jQuery中用于动态加载指定JSON格式的数据内容

$.getJSON(url,[data],[callback]);
  • url:请求JavaScript文件的url地址
  • data:发送给服务器端的key/value形式的数据内容
  • callback:指定JavaScript文件成功加载后的回调函数

代码:

<button>按钮</button>

<script src="jquery-3.5.1.js"></script>

<script>
    $('button').click(function(){
        //getJSON()方法的请求方式为GET
        $.getJSON('sever1.json',{name : '张无忌'},function(data){
            console.log(data);
            eval(data);
        });
    });
</script>

效果:
在这里插入图片描述

异步提交表单

异步提交表单的步骤

  1. 获取表单及所有表单组件对应的数据值
  2. 将所有表单组件对应的数据值拼成特定格式的字符串或是JSON格式数据
  3. 通过Ajax异步交互方式提交表单

代码:

   <form action="#">
        <input type="text" id="name">
        <input type="submit">
    </form>

    <script src="jquery-3.5.1.js"></script>
    <script>
        $('from').bind('submit',function(event){
            //阻止默认行为
            event.preventDefault();
            //1.获取表单组件的数据内容
            var name = $('#name').val();
            //2.构建发送给服务器端的数据格式
            var data = 'name=' + name;
            //3.通过异步交互提交表单
            $.post('server5.json',data,function(response){
                console.log(response);
            });
        });
    </script>

表单序列化

  • serialize()方法:将表单对应的数据值序列化为指定格式的字符串内容
  • serializeArray()方法:将表单组件对应的数据值序列化为JSON格式的数据内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值