Итак, позвольте мне дать вам краткий обзор того, как могут работать AJAX и колба.
Допустим, у вас есть некоторые данные, которые вы получаете из базы данных, что-то вроде этого
items=[{"id":123,"name":"abc","lastname":"xyz"}]
И вы можете хранить что-то вроде этого с небольшим фрагментом кода, который будет выглядеть примерно так:
result = cursor.fetchall()
links = []
num = 0
for item in result:
if links.__len__()-1 != num:
links.append({})
links[num]['id'] = item[0]
links[num]['name'] = item[1]
links[num]['lastname'] = item[2]
#links.append({}) extra append should be created
num += 1
Теперь интересная часть AJAX
Допустим, у вас есть простая форма, которую вы хотели быдля отправки.
<form id="searchForm" action="/" method="POST">
<input type="text" id="search" name="search" placeholder="Search">
<input type="submit" value="Search">
</form>
Чтобы остановить действие по умолчанию для отправки, у вас может быть скрипт, который будет выглядеть примерно так:
$(document).ready(function() {
//#addLinkForm is nothing but the id of the form (works well if you have multiple forms in your page)
$('#addLinkForm').on('submit',function(event){
//This is where the data is sent
$.ajax({
url: '/adminAJAX',
type: 'POST',
data: $('#addLink'),
})
//this is done when the response is received
.done(function(data) {
console.log("success " + data);
});
event.preventDefault();
});
});
Ответ будет в консоли браузера.Полученные данные можно использовать по своему усмотрению
Чтобы это работало, вам также понадобится
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
в вашем HTML-коде
И последнее.Для того, чтобы все это работало, вам также понадобится серверная часть, которая, я думаю, будет для вас флягой
@app.route('/adminAJAX',methods=['POST'])
def adminAJAX():
#your processing logic
items=[{"id":123,"name":"abc","lastname":"xyz"}] #just an example
return json.dumps(items)