jQuery 中的 Ajax

本文介绍了 jQuery 中 AJAX 的基本使用方法,包括 $.ajax() 方法的基本配置和使用、serialize() 方法的功能及应用、$.get() 和 $.post() 方法的区别与用法,以及如何利用 $.ajax() 发送 JSON 请求,并探讨了 Ajax 全局事件的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. $.ajax()方法基本使用

var params = {
    name: 'wangwu',
    age: 300
}
$('#btn').on('click', function() {
    $.ajax({
        // 请求方式
        type: 'post',
        // 请求地址
        url: '/user',
        // 向服务器端发送的请求参数
        // name=zhangsan&age=100
        // data: {
        //     name: 'zhangsan',
        //     age: 100
        // },
        data: JSON.stringify(params),
        // 指定参数的格式类型
        contentType: 'application/json',
        // contentType: 'application/x-www-form-urlencoded',
        beforeSend: function() {
            alert('请求不会被发送')
                // 请求不会被发送
            return false;
        },
        // 请求成功以后函数被调用
        success: function(response) {
            // response为服务器端返回的数据
            // 方法内部会自动将json字符串转换为json对象
            console.log(response);
        }
    });
});

2. serialize()方法

作用:将表单中的数据自动拼接成字符串类型的参数

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

<head>
    <meta charset="UTF-8">
    <title>serialize方法说明</title>
</head>

<body>
    <form id="form">
        <input type="text" name="username">
        <input type="password" name="password">
        <input type="submit" value="提交">
    </form>
    <script src="./js/jquery.min.js"></script>
    <script type="text/javascript">
        $('#form').on('submit', function() {
            // 将表单内容拼接成字符串类型的参数
            var params = $('#form').serialize();
            console.log(params);
            // 阻止表单默认行为
            return false;
        });
    </script>
</body>

</html>

在这里插入图片描述
在这里插入图片描述

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

作用:$.get()方法用于发送get请求,$.post()方法用于发送post请求。

$.get('http://www.example.com', { name: 'zhangsan', age: 30 }, function(response) {});
$.post('http://www.example.com', { name: 'lisi', age: 22 }, function(response) {});

4. $.ajax()方法发送json请求

客户端

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

<head>
    <meta charset="UTF-8">
    <title>$.ajax方法基本使用</title>
</head>

<body>
    <button id="btn">发送请求</button>
    <script src="/js/jquery.min.js"></script>
    <script>
        // 自定义代替success函数的函数
        function fn(response) {
            console.log(response)
        }

        $('#btn').on('click', function() {
            $.ajax({
                url: '/jsonp',
                // 向服务器端传递函数名字的参数名称
                jsonp: 'cb',
                // 自定义代替success函数的函数,一般不使用
                jsonpCallback: 'fn',
                // 代表现在要发送的是jsonp请求
                dataType: 'jsonp',
                // success: function(response) {
                //     console.log(response)
                // }
            })
        });
    </script>
</body>

</html>

服务器端

app.get('/jsonp', (req, res) => {
    const cb = req.query.cb;
    const data = cb + "({name: 'zhaoliu'})";
    res.send(data);
});

5. Ajax全局事件

只要页面中有Ajax请求被发送,对应的全局事件就会被触发

// 当页面中有ajax请求发送时触发
$(document).on('ajaxStart', function() {
    NProgress.start();
});

// 当页面中有ajax请求完成时触发
$(document).on('ajaxComplete', function() {
    NProgress.done();
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

火星飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值