news 2026/2/7 4:44:38

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/2/4 23:54:16

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://…

作者头像 李华
网站建设 2026/2/4 17:23:50

终极指南:如何免费解锁网易云音乐ncm文件格式限制

终极指南&#xff1a;如何免费解锁网易云音乐ncm文件格式限制 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换&#xff0c;Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 还在为网易云音乐下载的ncm文件无法在其他播放器…

作者头像 李华
网站建设 2026/2/5 18:51:40

游戏串流负载均衡技术:实现多设备并行游戏的最佳实践

游戏串流负载均衡技术&#xff1a;实现多设备并行游戏的最佳实践 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshin…

作者头像 李华
网站建设 2026/2/4 15:45:04

MouseTester终极指南:免费鼠标性能测试工具快速上手教程

MouseTester是一款专业的鼠标性能测试工具&#xff0c;能够帮助用户精准评估鼠标响应速度、点击延迟与移动轨迹等关键指标。作为开源性能测试工具中的轻量解决方案&#xff0c;它通过直观的可视化界面呈现测试数据&#xff0c;特别适合游戏玩家、设计师等对鼠标性能敏感的用户。…

作者头像 李华
网站建设 2026/2/5 15:59:52

Lumafly模组管理器:跨平台游戏模组管理的终极解决方案

Lumafly模组管理器&#xff1a;跨平台游戏模组管理的终极解决方案 【免费下载链接】Lumafly A cross platform mod manager for Hollow Knight written in Avalonia. 项目地址: https://gitcode.com/gh_mirrors/lu/Lumafly 在现代游戏模组生态中&#xff0c;Lumafly模组…

作者头像 李华
网站建设 2026/2/5 3:51:39

怎样快速优化游戏手柄:DS4Windows实用技巧完全指南

作为PlayStation手柄在PC平台的最佳伴侣&#xff0c;DS4Windows让玩家能够轻松连接DS4和DualSense手柄&#xff0c;享受无缝的游戏体验。这款开源工具不仅解决了原生支持的不足&#xff0c;更通过丰富的自定义功能将手柄性能发挥到极致。本文将从新手角度出发&#xff0c;分享5…

作者头像 李华