【jquery ajax】实现文件上传提交

news/2024/7/11 1:01:51 标签: ajax, jquery, javascript, 前端

csdn动态图标

✍️ 作者简介: 前端新手学习中。

💂 作者主页: 作者主页查看更多前端教学

🎓 专栏分享:css重难点教学   Node.js教学 从头开始学习   ajax学习

在这里看原生ajax实现文件上传

文章目录

  • JQuery实现文件上传提交
    •   定义UI结构
    •   验证是否选择了文件
    •   向FormData中追加文件并发起ajax请求
    • jquery实现loading效果
    •   完整代码

JQuery实现文件上传提交

  定义UI结构

 <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js"></script>
 <input type="file" id="file1">
    <button id="btnUpload">上传文件</button>
     <img src="" alt="" style="width: 200px;" id="img1">

  验证是否选择了文件

javascript">        $('#btnUpload').on('click', function () {
            let files = $('#file1')[0].files;
            if (files.length <= 0) {
                return alert('请选择文件后在上传')
            }
        
        })

ajax_30">  向FormData中追加文件并发起ajax请求

在这里插入图片描述

javascript">           //上传文件
            let fd = new FormData();
            fd.append('avator', 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) {
                    alert('上传成功')
                    $('#img1').attr('src', 'http://www.liulongbin.top:3006' + res.url)
                    console.log(res.url);
                }
            })

jqueryloading_53">  jquery实现loading效果

ajaxStart(callback)
Ajax请求开始时,执行ajaxStart函数,可以在ajaxStart的callback中显示loading效果。
自jqueyr版本1.8起,该方法只能被附加到文档,$(document).ajaxStart()函数会监听文档内所有ajax请求,当ajax请求开始会触发这个函数,ajax结束则会触发ajaxStop

javascript">  <img src="./自媒体资源/5-121204193933-51.gif" alt="" style="display: none;" id="loading" width="50px" height="50px">
          $(document).ajaxStart(function () {
            $('#loading').show()
        })
        $(document).ajaxStop(function () {
            $('#loading').hide()
        })

  完整代码

javascript"><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="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.js"></script>

</head>

<body>
    <input type="file" id="file1">
    <button id="btnUpload">上传文件</button>
    <br>
      <img src="" alt="" style="width: 200px;" id="img1">
    <img src="./自媒体资源/5-121204193933-51.gif" alt="" style="display: none;" id="loading" width="50px" height="50px">
    <script>
        //监听传输
        $(document).ajaxStart(function () {
            $('#loading').show()
        })
        $(document).ajaxStop(function () {
            $('#loading').hide()
        })

        //建立单击事件
        $('#btnUpload').on('click', function () {
            let files = $('#file1')[0].files;
            if (files.length <= 0) {
                return alert('请选择文件后在上传')
            }
            //上传文件
            let fd = new FormData();
            fd.append('avator', 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) {
                    alert('上传成功')
                    $('#img1').attr('src', 'http://www.liulongbin.top:3006' + res.url)
                    console.log(res.url);
                }
            })
        })
    </script>
</body>

请添加图片描述


http://www.niftyadmin.cn/n/5596.html

相关文章

带你手撕八大排序

目录一、排序的基础知识1.排序的概念2.排序的应用3.常见的排序算法二、八大排序的实现1.插入排序-直接插入排序直接插入排序的特性总结2.插入排序-希尔排序希尔排序的特性总结3.选择排序-直接选择排序直接插入排序特性总结4.选择排序-堆排序堆排序的特性总结5.交换排序-冒泡排序…

java-net-php-python-springtboot校园信息交流互助系统计算机毕业设计程序

java-net-php-python-springtboot校园信息交流互助系统计算机毕业设计程序 java-net-php-python-springtboot校园信息交流互助系统计算机毕业设计程序本源码技术栈&#xff1a; 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 开发软件&#xff1a;idea eclipse…

C语言之位域(位段)入门详解

一、引言 信息处理中&#xff0c;有些信息在存储时&#xff0c;并不需要占用一个完整的字节&#xff0c;而只需占一个或几个比特位。例如在存放一个开关量时&#xff0c;只有0和1 两种状态&#xff0c; 用一位二进制位即可。为了节省存储空间&#xff0c;并使处理简便&#xf…

基于组件的软件设计

世界是复杂的&#xff0c;值得幸运的是&#xff0c;复杂的世界是由小生大&#xff0c;由简入繁。人类研究复杂世界的方法是将复杂的事物逐一分解成已经了解的简单事物&#xff0c;并且研究这些简单事物的相互作用产生的系统特性。人类认识世界的方式如此&#xff0c;在此基础上…

13届蓝桥杯省赛PythonB组真题-蜂巢

蜂巢题目本身难度并不大&#xff0c;使用枚举方法就可以求解&#xff0c;但在编程中还是有坑的&#xff08;文末最后提到&#xff09;。解题思路&#xff1a; 1.先把蜂巢坐标系(d, p, q)转换为直角坐标系(x, y)&#xff0c;不妨把正六边形中心到各边的距离记作1. 则沿6各方向…

开发者新手指南:一文汇总 Web3 开发工具

开发者工具&#xff0c;字如其名&#xff0c;既包含了修改、测试或查看代码的开发类工具&#xff0c;又包含了行业资讯、创业学习的多元类工具。**对开发人员来说&#xff0c;开发工具是“代码伴侣”&#xff0c;是可信任的盟友。**开发工具也支持着开发人员的旅程&#xff0c;…

项目管理之流程管理

目录 前言 一、流程管理基础 1.流程的要素 2.流程分析、设计、实施与评估 3.业务流程方案 二、流程重构与改进 1.业务流程的分类 2.BPR项目的实施 三、敏捷项目管理 总结 前言 本文主要讲述一下在项目管理过程中&#xff0c;应该如何对流程进行管理&#xff0c;了解流…

Bootstrap基础布局入门与学习(适用于1+X Web前端开发中级复习)

文章目录 &#x1f4cb;前言 &#x1f4cb;分析题目考点 &#x1f4ac;答案如下&#xff1a; &#x1f4ac;考点分析 1️⃣考点一 2️⃣考点二 3️⃣考点三 4️⃣考点四 5️⃣考点五 &#x1f4cb;练习demo &#x1f4ac;文件结构 &#x1f4ac;免费下载链接 &am…