JQuery中的Ajax

JQuery中的Ajax

JQuery不仅对JavaScript语言进行了封装,也对Ajax异步交互进行了封装。JQuery提供了6个Ajax操作的方法:

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

还提供了以下几种事件:

  • 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方法

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>load()方法</title>
</head>

<body>
    <button>按钮</button>
</body>
<script src="./jquery-3.5.1.js"></script>
<script>
    $('button').click(function () {
        /*
            参数
                url:异步请求的地址
                data:异步请求的数据
                callback:异步请求成功后的回到函数
                    返回值:服务器端的响应结果,并会自动的把响应结果写入到目标元素中
        */
        $('button').load('server.txt', function () {
            console.log('异步请求成功')
        })
    })
</script>

</html>

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

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

结构如下:

$.get(url,[callback],[type])
$.post(url,[callback],[type])
  • url:请求HTML页面的url地址
  • data:发送给服务器端的key/value形式的数据内容
  • callback:Ajax请求完成时的回调函数
  • type:设置返回数据内容的格式。值为xml,html,script, json和_default
  • 返回值:服务器响应的结果
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>get()与post()方法</title>
</head>

<body>
    <button>按钮</button>
</body>
<script src="./jquery-3.5.1.js"></script>
<script>
    $('button').click(function () {
        /*
        url:异步请求的地址
        data:异步请求的数据
        callback:异步请求成功后的回到函数
        */
        $.get('server.json', {
            name: "小明"
        }, function (response) {
            console.log(response)
        }, 'json')


        $.post('server.json', {
            name: "张无忌"
        }, function (response) {
            console.log(response);
        }, 'json')
    })
</script>

</html>

$.ajax()方法

$.ajax(url,[settings])
  • url:请求HTML页面的url地址
  • settings:key/value形式的请求设置,所有参数都是可选的
    • settings选项:对象类型
      • type : 设置请求方式
      • data :发送给服务器端的请求数据
      • dataType :服务器端响应结果的格式
      • success :异步请求成功后的回调函数
        • function(data,textStatus,jqXHR){}
          • data :表示服务器端响应的结果
          • textStatus :表示服务器端当前的状态
          • jqXHR :Ajax中的核心对象
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>ajax()方法</title>
</head>

<body>
    <button>按钮</button>
</body>
<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('server.json', {
            type: 'get',
            dataType: 'text',
            success: function (data) {
                console.log(data);
            }
        })
    })
</script>

</html>

$.getScript()方法

$.getScript()方法是JQuery中用于动态加载指定JavaScript文件的,结构如下:

$.getScript(url,[callback]);
  • url:请求JavaScript文件的url地址
  • callback:指定JavaScript文件加载成功后的回调函数
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>getScript()方法</title>
</head>

<body>
    <button>按钮</button>
</body>
<script src="./jquery-3.5.1.js"></script>
<script>
    // 动态加载指定JavaScript文件,并且执行
    $.getScript('server1.js', function (data) {
        console.log("加载成功")
        console.log(data);
    })
</script>

</html>

$.get.JSON()方法

$.getJSON(url,[data],[callback]);
  • url:请求JSON文件的url地址
  • data:发送给服务器端的ke/value形式的数据内容
  • callback:指定JSON文件加载后的回调函数
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>getScript()方法</title>
</head>

<body>
    <button>按钮</button>
</body>
<script src="./jquery-3.5.1.js"></script>
<script>
    // getJSON()方法的请求方式为GET
    $.getJSON('server.json', {
        name: "张无忌"
    }, function (data) {
        console.log(data)
    })
</script>

</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值