Здравствуйте. Нужно отправить по AJAX изображения и текстовые данные.
Код отправки сделал вот так (взяв пример
отсюда):
Код HTML:
<form method='POST' id='formSlaid'>
<select id='slaidSelect'><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option></select>
<input type='file' id='slaidRasem' accept='image/jpeg'>
<input type='text' id='slaidAnlatma' maxlength='127'>
<input type='button' value='Save' id='slaidToima'>
</form>
Код JS:
$("#slaidToima").click(function(){
var file_data = $('#slaidRasem').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax ({
url: "/ajax1.php",
type: "POST",
data: form_data,
dataType: "text",
cache: false,
contentType: false,
processData: false,
success: function(data) {
alert(data);
/*
if (data >= 1) {
alert("Сохранено успешно.");
} else {
alert("Ошибка выполнения.");
}*/
}
});
});
И php-код AJAX:
if ( 0 < $_FILES['file']['error'] ) {
echo 'Error: '.$_FILES['file']['error'];
} else {
if(move_uploaded_file($_FILES['file']['tmp_name'], 'images/slide/rasemnar/'.$_FILES['file']['name'])){
echo "+";
}else{
echo "-";
}
}
Этот код работает. Но проблема в том, что этот код отправляет одно единственное изображение (ну, или другой файл). А мне нужно, чтобы отправлять в одном случае - 2 изображения, в другом - изображение и несколько текстовых инпутов.
В обычном AJAX я делал это так:
data: ({
toima: "slaidlar",
slaidIsem: $(this.form).children("#slaidAnlatma").val(),
slaidId: $(this).data("slaidId")
})
А тут пишется "
data:" и сразу переменная.
Помогите пожалуйста, как мне решить эту проблему?