微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jQuery高级用法

一、jQuery实现文件上传

1.定义UI结构

2.验证是否选择了文件

3.向FormData中追加文件

4.使用jQuery发起上传文件的请求

 

 

 示例代码

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

<head>
    <Meta charset="UTF-8">
    <Meta http-equiv="X-UA-Compatible" content="IE=edge">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/js文件/jquery-3.6.0.js"></script>
</head>

<body>
    <input type="file" id="file1">
    <button id="butUpload">上传文件</button>
</body>
<script>
    $(function () {
        $('#btnUpload').on('click', function () {
            var files = $('#file1')[0].files
            if (files.length <= 0) {
                return alert('请选择文件后再上传')
            }
            var fd = new FormData()
            fd.append('avatar', files[0])

            // 发起jQuery的AJAX请求,上传文件
            $.ajax({
                method: 'POST',
                url: 'http://www.liulongbin.top:3006/api/upload/avatar',
                data: fd,
                processData: false,
                contentType: false,
                success: function (res) {
                    console.log(res);
                }
            })
        })
    })
</script>

</html>

二、jQuery实现loading效果

1.ajaxStart(callback)

Ajax请求开始时,执行ajaxStart 函数。可以在 ajaxStart的callback中显示 loading效果,示例代码如下

注意:$(document).ajaxStart()函数会监听当前文档内所有的Ajax请求。

2.ajaxStop(callback)

Ajax请求结束时,执行 ajaxStop函数。可以在ajaxStop的callback中隐藏, loading 效果,示例代码如下:

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

<head>
    <Meta charset="UTF-8">
    <Meta http-equiv="X-UA-Compatible" content="IE=edge">
    <Meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="/js文件/jquery-3.6.0.js"></script>
</head>

<body>
    <input type="file" id="file1">
    <button id="butUpload">上传文件</button>
    <br>
    <img src="/img/1.jpg" alt="" style="display: none;" id="loading">
</body>
<script>
    $(function () {
        // 监听到Ajax请求被发起了
        $(document).ajaxStart(function () {
            $('#loading').show
        })

        // 监听到Ajax完成的事件
        $(document).ajaxStop(function () {
            $('#loading').hide()
        })

        $('#btnUpload').on('click', function () {
            var files = $('#file1')[0].files
            if (files.length <= 0) {
                return alert('请选择文件后再上传')
            }
            var fd = new FormData()
            fd.append('avatar', files[0])

            // 发起jQuery的AJAX请求,上传文件
            $.ajax({
                method: 'POST',
                url: 'http://www.liulongbin.top:3006/api/upload/avatar',
                data: fd,
                processData: false,
                contentType: false,
                success: function (res) {
                    console.log(res);
                }
            })
        })
    })
</script>

</html>

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐