不用插件,jQuery轻松实现文件上传及进度监听!附详细代码示例
在jQuery中实现文件上传,通常我们会使用`FormData`对象和`XMLHttpRequest`对象来发送POST请求。以下是一个简单的示例: ```html <!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> </head> <body> <form id="file-upload-form"> <input type="file" id="file-input" name="file"> <button type="submit">Upload</button> </form> <script> $(document).ready(function(){ $('#file-upload-form').on('submit', function(e){ e.preventDefault(); // 阻止表单默认提交行为 var fileInput = document.getElementById('file-input'); var file = fileInput.files[0]; if(file) { var formData = new FormData(); formData.append('file', file); $.ajax({ url: 'your-url-to-upload', // 你的服务器上传接口 type: 'POST', data: formData, processData: false, // 不处理数据 contentType: false, // 不设置Content-Type xhr: function () { var xhr = new window.XMLHttpRequest(); xhr.upload.addEventListener('progress', function (event) { if (event.lengthComputable) { var percentComplete = event.loaded / event.total; console.log(percentComplete); } }, false); return xhr; }, success: function(response){ console.log('File uploaded successfully:', response); }, error: function(xhr, status, error){ console.error('Error uploading file:', error); } }); } else { alert('Please select a file to upload.'); } }); }); </script> </body> </html> ``` 在这个例子中,当用户选择一个文件并点击上传按钮时,会阻止表单的默认提交行为,然后创建一个`FormData`对象并将文件添加到其中。然后使用`$.ajax`发送POST请求到服务器,同时监听上传进度。如果上传成功,会在控制台打印出响应信息;如果上传失败,会打印错误信息。 这个示例假设你已经有了一个服务器端接收文件上传的接口。你需要将其替换为实际的URL。 ######[AI写代码神器 | 475点数解答 | 2024-04-02 09:54:50]
- 批处理文件:依据参数表.xlsx精准修改文件.txt中p、t、s值(GPT | 811点数解答 | 2024-12-05 12:58:37)404
- 用批处理和Python实现“参数表.xlsx”与“文件.txt”数据匹配及修改(讯飞星火 | 531点数解答 | 2024-12-05 13:20:42)383
- 批处理文件:依据参数表.xlsx精准修改文件.txt特定参数值(阿里通义 | 495点数解答 | 2024-12-05 13:22:26)361
- Java实现链表反转:迭代与递归双解法详解及开发实战指南(DeepSeek | 1409点数解答 | 2026-03-15 15:09:29)50
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)366
- jQuery 实现姓名、邮箱、电话表单验证:成功显示消息,失败提示错误(百度文心 | 858点数解答 | 2024-10-26 23:36:38)433
- jQuery实现表单验证:姓名、邮箱、电话一个都不能少!(阿里通义 | 629点数解答 | 2024-10-29 09:16:19)364
- HTML+jQuery 实现列表元素悬停动画效果:代码详解与注意事项(字节豆包 | 475点数解答 | 2024-12-19 14:58:05)386
- HTML+jQuery:打造动态导航栏动画效果及注意事项(字节豆包 | 495点数解答 | 2024-12-19 14:58:06)332
- HTML+jQuery:打造带动态交互效果的商品展示页面(讯飞星火 | 497点数解答 | 2024-12-19 14:58:18)335
- HTML与jQuery结合:实现商品列表交互动画的首页代码解析(讯飞星火 | 497点数解答 | 2024-12-19 14:58:20)357
- 缜密逻辑,全新无名杀“风餐”技能代码精心打造与深度解析 (字节豆包 | 469点数解答 | 2025-04-05 11:37:06)261