Я пытаюсь выполнить это сообщение AJAX, но по какой-то причине я получаю ошибку сервера 500. Я не вижу ошибки в коде python. Таким образом, проблема, похоже, связана с обратным вызовом. Я отправляю код, который я использую в настоящее время. Кто угодно?Почему я получаю 500 внутренних ошибок сервера, используя jquery ajax и python bottle?
Html форма часть передний конец HTML часть как пишется форма
<form method="post" id="uploadform" onsubmit="formupload()" enctype="multipart/form-data">
<div class="form-group">
<input type="file" id="exampleInputFile" name="file">
</div>
<div class="form-group ">
<button type="submit" class="btn btn-primary pull-right" id="upload_button">Upload File</button>
</div>
</form>
Th AJAX вызов к коду питона и оповещает «загрузить сбой»:
function formupload(){
event.preventDefault();
$.ajax({
url: '/uploadEmpData',
type: 'POST',
data: $('#uploadform').serialize(),
dataType: 'json',
success: function(data){
alert(data);
alert('file uploaded successfully');
},
error: function(data){
alert('upload fail');
//console.log(error);
}
});
}
Питон бутылки, в которой создается функция, и данные принимаются от запроса AJAX:
def uploadEmpData():
data = request.files.get('file')
data.save('files/',overwrite=True)
if data and data.file:
return json_dumps("File uploaded successfully")
return json_dumps({'error':'Permission Denied.'})
Ошибка 500 означает, что проблема заключается в вашем коде Python на сервере. Проверьте вкладку сети для описания ошибки, возникшей в результате запроса. Также обратите внимание, что вы вызываете 'preventDefault()' на глобальном объекте 'event', возможно, вам нужно изменить это на событие отправки формы. Вы также не можете сериализовать ввод файла. Вам необходимо отправить многостраничный запрос, используя FormData –