У меня есть форма. Когда я отправляю свою форму, я хочу выполнить некоторые функции в маршруте, который обрабатывает данные формы.
Форма
<form action="{{ url_for('background_process') }}" method="POST">
<input type="text" id="name" name="name" required />
<input type="url" id="url" name="url"/>
<input type ="text" id="mdp-demo" name= "mdp-demo"/>
<input type=text size=5 name=proglang>
<a href=# id=process_input><button class='btn btn-default'>Submit</button></a>
</form>
Javascript для публикации данных формы для маршрутизации обработки данных.
$(function() {
$('a#process_input').bind('click', function() {
$.getJSON('/background_process', {
proglang: $('input[name="proglang"]').val(),
url: $('input[name="url"]').val(),
title: $('input[name="name"]').val(),
dates: $('input[name="mdp-demo"]').val(),
}, function(data) {
$("#result").text(data.result);
});
return false;
});
Маршрут, обрабатывающий данные формы.
@app.route('/background_process', methods=['GET','POST'])
def background_process():
try:
create_table()
data_entry()
url = request.args.get('url', 0, type=str)
title = request.args.get('title', 0, type=str)
dates = request.args.get('dates', 0, type=str)
if url.lower() == 'https://www.reddit.com/':
return jsonify(result='You are wise')
else:
return jsonify(result='Try again.')
except Exception as e:
return str(e)
Я хочу выполнить функции create_table () и data_entry () при нажатии кнопки отправки в форме.
Результат на данный момент в том, что ничего не происходит. Эти функции работают при выполнении приложения во время выполнения вне маршрута. Это когда они находятся в пределах маршрута, они не работают. Любые предложения относительно того, что я должен сделать, чтобы добиться выполнения этих функций внутри моего маршрута?