Answer the question
In order to leave comments, you need to log in
Loading form-data via ajax?
<form enctype="multipart/form-data" method='post' action="{% url 'documents:import_xlsx_api' %}" id="XLSX_form">
{% csrf_token %}
{{ form }}
<br>
<input type='submit' value='Загрузить' class="btn btn-primary btn-block more">
</form>
Answer the question
In order to leave comments, you need to log in
Good morning.
Something like that:
$(function() {
$('#form-data').on('submit', function(e){
e.preventDefault()
var form = $(this); // Предположу, что этот код выполняется в обработчике события 'submit' формы
var data = new FormData(); // Для отправки файлов понадобится объект FormData. Подробнее про него можно прочитать в документации - https://developer.mozilla.org/en-US/docs/Web/API/FormData
// Сбор данных из обычных полей
form.find(':input[name]').not('[type="file"]').each(function() {
var field = $(this);
data.append(field.attr('name'), field.val());
});
// Сбор данных о файле (будет немного отличаться для нескольких файлов)
var filesField = form.find('input[type="file"]');
var fileName = filesField.attr('name');
var file = filesField.prop('files')[0];
data.append(fileName, file) ;
// Отправка данных
var url = 'upload.php';
$.ajax({
url: url,
type: 'POST',
data: data,
contentType: false,
cache: false,
processData:false,
success: function(response) {
console.log(response)
}
});
})
});
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question