我需要渲染一个Flask模板,但是ajax数据只能在POST if语句中访问,并且在发布数据后调用get direct时不会显示。
我在这里工作ajax
$.ajax({
type: 'post',
url: "/query",
dataType: 'text',
data: JSON.stringify({hostname:hostname, bf_id:computerID}),
contentType: 'application/json;charset=UTF-8',
success: function () {
window.location.href = "/query";
}
});
});
数据已成功发布,重定向正在运行。但是当重定向调用函数来呈现模板时,无法检索发布的ajax。
@app.route('/query', methods=["GET", "POST"])
def query():
hostname=""
if request.method == "POST":
#these values only exist in if statement
hostname = request.json['hostname']
bf_id = request.json['bf_id']
return render_template('query.html', hostname=hostname)
我使用了错误的工作流程吗?
答案 0 :(得分:0)
我使用了错误的工作流程吗?
是
Ajax的目的是在不加载整个新页面的情况下发出HTTP请求。
如果要加载整个新页面,请使用常规表单提交,而不涉及JavaScript。