Я использую flask с маршрутами ajax и flask, которые возвращаются через 3 минуты с единичным временем доступа с ajax. Я хочу обновить веб при получении от flask маршрутов. Тем не менее, кажется, обновлять веб сразу, когда возвращают все итерации. (Поскольку я новичок в javascript и jquery, ajax, мне сложно найти, где проблема.)
Не могли бы вы посоветовать, как обновлять веб при каждом получении jsonify возврата от search_word?
<script>
$(document).ready(function () {
var events = $('#events');
var table = $('#example').DataTable({
dom: 'Bfrtip',
select: true,
order: [[0, "desc"]],
buttons: [
{
text: 'Get selected data',
action: function () {
//var array = []
//var count = table.rows({ selected: true }).count();
table.rows('.selected').every(function (rowIdx) {
//array.push(table.row(rowIdx).data())
$.ajax({
type: 'POST',
url: '/search_word',
contentType: 'application/json',
data: JSON.stringify(table.row(rowIdx).data()),
success: function (data) {
table.cell({ row: rowIdx, column: 2 }).data(data[2]);
//console.log("Current process " + rowIdx);
//alert(data);
}
})
})
}
}
]
});
});
</script>
@app.route('/search_word', methods=['POST'])
def search_word():
start_time = time.time()
data = request.get_json()
data[2] = 0
combination_keyword = data[1].split(' | ')
logfiles = getListOfFiles('jquery_log_analyzer/logs')
cnt_keyword = 0
for logfile in logfiles:
loglines = open(logfile, 'r').readlines()
for logline in loglines:
if all(word in logline for word in combination_keyword):
data[2] = data[2] + 1
print(time.time() - start_time)
return jsonify(data)
