Django csrf ajax форма не отправляет данные на сервер, но работает на локальном компьютере
Я работаю над процессом отправки формы. Все работает нормально на моем локальном сервере, но когда я размещаю сайт на своем сервере, то отправка формы ничего не делает.
Вот мой файл шаблона : `
`
Вот мой javascript : `
function upload_data() {
const fd = new FormData();
const csrf = document.getElementsByName('csrfmiddlewaretoken')
const uploaddataform= document.getElementById('upload-data-form')
excelfile = $('#excelfileinput')[0].files[0];
templatename= document.getElementById("selecttemmplatetype")
fd.append('excelfile', excelfile);
fd.append('template', templatename.value);
fd.append('lot_hash',document.getElementById('lotnumberhashdiv').innerHTML)
fd.append('csrfmiddlewaretoken', csrf[0].value)
var csrftoken = jQuery("[name=csrfmiddlewaretoken]").val();
$.ajax({
type: 'POST',
url: 'uploadfile/',
enctype: 'multipart/form-data',
headers: {
'X-CSRFToken': csrftoken
},
data: fd,
cache: false,
contentType: false,
processData: false,
csrfmiddlewaretoken: '{{ csrf_token }}',
})
.done(function (data) {
alert("file Upload Successful")
reloadpage()
})
}
function reloadpage() {
location.reload();
}
`
Искал везде про ajax и csrf, но не могу найти помощи. В консольном журнале ничего нет. После submit страница не перезагружается, а мигает всего полсекунды. Работаю на локальном сервере.
Примечание: Мой сайт размещен на поддомене. Я также нашел в документации django, что csrf имеет проблемы с поддоменами. Поэтому я также добавил его в настройки в соответствии с документацией.
CSRF_TRUSTED_ORIGINS = ['https://test.nitinmandharelawassociatesllp.com', 'https://nitinmandharelawassociatesllp.com', '.nitinmandharelawassociatesllp.com']
CSRF_COOKIE_DOMAIN = '.nitinmandharelawassociatesllp.com'