gpt4 book ai didi

php - 如何通过 jQuery 将文件发送到 php?

转载 作者:可可西里 更新时间:2023-10-31 23:03:25 27 4
gpt4 key购买 nike

我尝试通过 jQuery 将文件发送到 PHP 文件进行处理。

<form action="help-uploader.php" method="POST" class="signup" id="upform" enctype="multipart/form-data">

<input type="text" id="title" name="title" tabindex="1" value="">
<input id="file" type='file'" />
<button class="submitbtn" id="submit">submit</button>
</form>

和 jQuery:

$(document).ready(function(){
$('#submit').click(function (e) {
// custom handling here
e.preventDefault();
var ititle = $("#title").val();
var ifile = $("#file").val();

$.post("help-uploader.php",
{
title: ititle,
file: ifile
},function(data, status){alert("Data: " + data + "\nStatus: " + status);});
});
});

**help-uploader.php**

<?php
echo $_POST['file'];
echo basename($_FILES["file"]["name"]);
?>

首先 ECHO 打印客户端中的文件路径。

第二个 ECHO 不打印任何东西。

如何正确地通过 jQuery 向 PHP 发送文件?

最佳答案

你需要使用 formdata 。我提供了一个示例函数,它接受参数,即表单引用和函数回调来做事情。这个函数在你的表单提交上绑定(bind)事件。试试下面-

function sendAjaxForm(frm,callbackbefore,callbackdone)
{
var form = frm;
form.submit(function(event){
event.preventDefault();
var formData = new FormData(this);
var ajaxReq=$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: formData,
async: false,
cache: false,
contentType: false,
processData: false,
beforeSend: callbackbefore
});
ajaxReq.done(callbackdone);
}); // submit done
}

现在按照您的示例调用该函数

sendAjaxForm($('#upform'),function(){alert('sending');},function(data){alert("Data: " + data);})

关于php - 如何通过 jQuery 将文件发送到 php?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32817326/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com