news 2026/8/21 22:10:35

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/8/21 10:53:55

智能悬浮计时器:告别演讲超时的终极解决方案

智能悬浮计时器&#xff1a;告别演讲超时的终极解决方案 【免费下载链接】ppttimer 一个简易的 PPT 计时器 项目地址: https://gitcode.com/gh_mirrors/pp/ppttimer 还在为演讲时间失控而焦虑吗&#xff1f;每次站在讲台上&#xff0c;你是否都在担心无法在规定时间内完…

作者头像 李华
网站建设 2026/8/21 19:08:45

Sketch MeaXure:革命性设计标注插件让协作效率翻倍

Sketch MeaXure&#xff1a;革命性设计标注插件让协作效率翻倍 【免费下载链接】sketch-meaxure 项目地址: https://gitcode.com/gh_mirrors/sk/sketch-meaxure Sketch MeaXure作为一款基于TypeScript重构的开源设计标注插件&#xff0c;彻底改变了设计师与开发团队之间…

作者头像 李华
网站建设 2026/8/21 9:47:47

Ryzen SDT调试工具快速掌握:从入门到性能飞跃的完整指南

Ryzen SDT调试工具快速掌握&#xff1a;从入门到性能飞跃的完整指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://…

作者头像 李华
网站建设 2026/8/21 1:10:31

SMUDebugTool:AMD Ryzen处理器性能调试终极指南

SMUDebugTool&#xff1a;AMD Ryzen处理器性能调试终极指南 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: https://gitcode.…

作者头像 李华
网站建设 2026/8/21 22:48:23

3分钟搞定城通网盘下载:直链提取工具完全指南

3分钟搞定城通网盘下载&#xff1a;直链提取工具完全指南 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 还在为城通网盘的下载限制而苦恼吗&#xff1f;每次下载都要忍受繁琐的步骤、缓慢的速度和满屏…

作者头像 李华
网站建设 2026/8/19 20:07:06

智能图像识别自动点击器:为什么它能看懂屏幕并精准操作?

智能图像识别自动点击器&#xff1a;为什么它能看懂屏幕并精准操作&#xff1f; 【免费下载链接】Smart-AutoClicker An open-source auto clicker on images for Android 项目地址: https://gitcode.com/gh_mirrors/smar/Smart-AutoClicker 还在为重复的点击操作感到厌…

作者头像 李华