Я использую ajax-файл, загружающий javascript и php-скрипт для загрузки изображения. Он работает удовлетворительно с $ _FILES, но мне нужно отправить некоторые дополнительные данные в скрипт обработки. Форма HTML выглядит следующим образом:Как добавить дополнительные параметры POST для загрузки файла ajax?
<form id="image1" action="" method="post" enctype="multipart/form-data">
<label>image 1?</label>
<p><input type="file" class="saveImage" name="image1" value="<?php echo $something; ?>" id="<?php echo $id; ?>" additional_info="some data" /></p>
<p> <input type="submit" value="Upload" class="submit" /></p>
</form>
мне нужно, чтобы быть в состоянии передать переменную идентификатор и некоторые другие данные, называют его «additional_data» в PHP скрипт, затем обработать его в моем PHP скрипт с использованием $additional_data = $_POST['additional_data']
. Javascript я использую:
<script>
$(document).ready(function (e) {
$("#image1").on('submit',(function(e) {
e.preventDefault();
$("#message").empty();
$('#loading').show();
var DATA=$(this).val();
var ID=$(this).attr('id');
var ADDL=$(this).attr('additional_data');
var dataString = 'image1='+DATA+'&id='+ID+'&additional_info='+ADDL;
$.ajax({
url: "uploadFile.php",
type: "POST",
// data: new FormData(this),
data: new FormData(this,dataString),
contentType: false,
cache: false,
processData:false,
success: function(data)
{
$('#loading').hide();
$("#message").html(data);
}
});
}));
});
</script>
Он не посылает dataString, только массив ФАЙЛЫ.
Почему бы не поместить другие данные в другие скрытые поля? – chris85