【发布时间】:2017-06-16 09:24:23
【问题描述】:
我正在尝试通过 ajax 发送 input file 和 input text。因为我将把这个功能添加到我现有的有很多其他变量的函数中,所以我不能像这里使用的那样简单地使用发送整个Form
Uploading both data and files in one form using Ajax?
这是它的基本要点
我的 HTML
<input type='text' name='text' id='text'>
<input type='file' name='media' type="file" / id='media'>
<input type="button" value="Upload" name='submit'/>
我的阿贾克斯
$(":button").click(function(){
var myFormData = new FormData();
var media = document.getElementById('media');
var variable = 'foo';
myFormData.append('pictureFile', media.files[0]);
var text = $("#text").val();
$.ajax({
type: 'POST',
url: 'upload.php',
data:
{
pictureFile: myFormData,
text: text,
var: variable,
},
cache: false,
success: function (data) {
alert(data);
},
processData: false,
contentType: false,
});
});
PHP
include_once ("connection.php");
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
$temp_name = $_FILES['pictureFile']['name'];
$pic_type = $_FILES['pictureFile']['type'];
$pic_temp = $_FILES['pictureFile']['tmp_name'];
$pic_path = "images/";
move_uploaded_file($pic_temp,'images/'.$temp_name);
}
因此,如我的代码所示,我需要一种方法将这些 var media、var text 和 var variable 从 data:{}, 发送到 upload.php
【问题讨论】:
标签: javascript php ajax post