news 2026/7/2 13:29:30

ajax的基本使用(上传文件)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ajax的基本使用(上传文件)

index.html

<html> <head> <title>js</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> </head> <body> <div> 我是显示内容 </div> <div> <input type="file" name="myFile" class="file_class"/> <button class="ajax_btn">原生ajax</button> </div> </body> <script src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript" src="./index.js"> </script> </html>

index.js

$(function(){ $(".ajax_btn").click(function(){ var xhr = new XMLHttpRequest(); xhr.open("post","http://localhost",true); xhr.onreadystatechange = function(e) { if(xhr.readyState == 4 && xhr.status == 200) { console.log(JSON.parse(xhr.responseText)); } } var file = $(".file_class")[0].files[0]; var fd = new FormData(); fd.append("info","zlx"); fd.append("fileInfo",file); xhr.send(fd); }); })

index.php

<?php if($_FILES['fileInfo']) { move_uploaded_file($_FILES['fileInfo']['tmp_name'],"./".$_FILES['fileInfo']['name']); } $result = array("code"=>200,"msg"=>$_POST["info"]."上传了图片"); print_r(json_encode($result)); ?>

注:

ajax使用FormData对象时,不用再去设置表头Content-type,FormData可以用js来实现form表单上传的对象,通过append来添加传递给后台的值,如,我们这里传了info,值为 zlx,fileInfo,值为一个文件对象,$(".file_class")[0].files[0]用来获取file对象,就是我们选择的文件,需要在PHP中使用$_FILES['fileInfo']来获取。

通过浏览器调试模式看到请求头,

这个fileInfo是一个二进制的文件。

通过move_uploaded_file来把上传来的缓存文件放到我们希望保存的地方。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/29 2:45:12

终极魔兽争霸III兼容性修复工具:让经典游戏重获新生

终极魔兽争霸III兼容性修复工具&#xff1a;让经典游戏重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper是一款专为解决《魔兽争…

作者头像 李华
网站建设 2026/7/1 23:54:43

如何快速修复ComfyUI中VHS_VideoCombine节点缺失问题

如何快速修复ComfyUI中VHS_VideoCombine节点缺失问题 【免费下载链接】ComfyUI-VideoHelperSuite Nodes related to video workflows 项目地址: https://gitcode.com/gh_mirrors/co/ComfyUI-VideoHelperSuite ComfyUI视频处理功能是AI绘画工作流中的重要组成部分&#x…

作者头像 李华
网站建设 2026/7/1 15:15:22

5分钟精通WeMod Pro功能解锁:技术原理与实战指南全解析

5分钟精通WeMod Pro功能解锁&#xff1a;技术原理与实战指南全解析 【免费下载链接】Wemod-Patcher WeMod patcher allows you to get some WeMod Pro features absolutely free 项目地址: https://gitcode.com/gh_mirrors/we/Wemod-Patcher 还在为游戏修改工具的功能限…

作者头像 李华
网站建设 2026/6/26 10:48:55

图解说明QTimer::singleShot执行流程与时机

深入理解QTimer::singleShot&#xff1a;从调用到执行的完整路径你有没有写过这样一行代码&#xff1a;QTimer::singleShot(500, []() {qDebug() << "Half a second later"; });看起来简单得不能再简单——“半秒后打印一句话”。但如果你曾遇到过“为什么没执…

作者头像 李华
网站建设 2026/6/29 14:36:07

新电脑验机工具介绍及避坑指南

新电脑验机工具优先用图吧工具箱&#xff08;一站式集成&#xff09;&#xff0c;搭配AIDA64、CrystalDiskInfo、CPU-Z/GPU-Z、FurMark、DisplayX&#xff0c;覆盖配置核对、硬盘健康、屏幕质量、稳定性与性能全维度&#xff0c;兼顾新手友好与专业精准。 一、首选软件 1、配…

作者头像 李华
网站建设 2026/7/1 10:41:26

教师备课须知:Multisim数据库配置避坑指南

教师备课实战指南&#xff1a;破解Multisim“数据库未找到”困局你有没有经历过这样的场景&#xff1f;明天就要上《模拟电子技术》实验课&#xff0c;PPT和电路图都准备好了&#xff0c;结果今天打开电脑&#xff0c;双击 Multisim 却弹出一行刺眼的提示&#xff1a;“multisi…

作者头像 李华