我有一个表格。提交表单时,我想在处理表单数据的路由中执行一些功能。
表格
<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()函数。
目前的结果是什么也没有发生。这些功能在路由之外的应用运行时执行时起作用。这是当他们在一条路线上不起作用时。关于在路由中执行这些功能应该做什么的任何建议?