如何避免 move_uploaded_file() 在按钮单击时刷新页面
Posted
技术标签:
【中文标题】如何避免 move_uploaded_file() 在按钮单击时刷新页面【英文标题】:How to avoid move_uploaded_file() refresh the page on button click 【发布时间】:2021-06-30 02:06:36 【问题描述】:我正在使用 jQuery 的$.ajax()
,我试图在单击时将上传的文件移动到文件夹中。上传成功但我的问题是上传时页面刷新我已经尝试过e.preventDefault()
和<button type="button">
这是我的html代码
<input type="file" id="student-img-file" accept="image/*" name="student-img-file">
<button type="button" id="btn-submit-form" class="mt-4">Submit Form</button>
这是我的 jQuery 代码
$('button#btn-submit-form').on('click', function(e)
let formData = new FormData()
formData.append('student-img-data', $('#student-img-file').prop('files')[0])
$.ajax(
url: '../phpFunctions/AdmissionFormFunction.php',
method: 'POST',
data: formData,
contentType: false,
processData: false,
cache: false,
success: function(result)
console.log(result)
)
)
这是我的 PHP(AdmissionFormFunction.php) 代码
$studentImgData = $_FILES['student-img-data'];
if(move_uploaded_file($studentImgData['tmp_name'], '../FileUploads/' . $studentImgData['name']))
echo "YESSSSSSSSSSSS";
顺便说一下,我没有使用表单标签
【问题讨论】:
请告诉我们您如何调用此代码。 很确定move_uploaded_file()
只会这样做:将文件移动到不同的文件夹。没有触发页面重新加载。一定是别的东西
那你的html或者js有问题,你给我们看的php代码没有导致页面刷新。据我所知,PHP 永远无法通过 ajax 调用来刷新页面
请向我们展示整个表格,而不仅仅是输入内容。
感谢这些 cmets。我终于明白为什么会这样了
【参考方案1】:
我刚刚关闭了我的 VS Code Live 服务器。我忘记了我在 vs code 中对文件夹系统所做的任何更改都会刷新页面。
【讨论】:
以上是关于如何避免 move_uploaded_file() 在按钮单击时刷新页面的主要内容,如果未能解决你的问题,请参考以下文章
PHP move_uploaded_file无法在公共服务器上运行
move_uploaded_file() 无法打开流:没有这样的文件或目录
move_uploaded_file() 无法将文件从 tmp 移动到 dir
777 文件夹上的 move_uploaded_file 权限被拒绝