Как я могу добавить данные файла вместе с некоторыми нормальными данными без формы в ajax-вызове? тока я в моем AJAX скриптКак добавить данные файла в ajax-вызов без использования FormData?
$("body").on("click", "#next-step", function(event){
$("#loader").show();
event.preventDefault();
var file = $("#upload_logo")[0].files[0];
$.ajax({
type: 'POST',
url: 'step-two.php',
data:{
name : "my name",
},
file : {upload_logo : file},
contentType: false,
processData: false,
success: function(response)
{
$("#loader").hide();
alert(response);
}
})
});
я узнал решение, но это не так, как я хотел бы, чтобы работать
event.preventDefault();
var fdata = new FormData()
if($("#upload_logo")[0].files.length>0)
fdata.append("upload_logo",$("#upload_logo")[0].files[0])
$.ajax({
type: 'POST',
url: 'step-two.php',
data:{fdata},
И это работает, но мой вопрос, что если я просто хотите добавить мой файл в данные, как я могу это сделать? вместо использования FormData() любой альтернативы?
Что случилось с использованием 'FormData()'? Это принятый метод загрузки файлов. Выполнение чего-то другого - это использование более старых технологий. –
Вы правы, я хочу знать, не возможно ли просто добавлять поля файлов так же, как мы добавляем нормальное поле ввода в данные? потому что я просто не могу найти его где угодно, как и в моем первом файле кода: {upload_logo: file}, не возможно? –
Да, для того, чтобы данные внутри файла были переданы как часть запроса POST, нам нужно использовать FormData. Вы также можете смешивать свои данные с содержимым файла. data: {name: 'my name', fileContent: fdata} –