我是一个完全的初学者,面临将javascript变量传递到烧瓶中的问题。请注意,我的问题与之前提出的问题完全不同。
这是我的代码:
的JavaScript
var dd = {'mvar': 1};
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "/",
data: JSON.stringify(dd),
success: function (data) {
alert("DONE!")
},
dataType: "json"
});
烧瓶(编辑)的
@app.route('/', methods=['GET', 'POST'])
def new():
form = InputForm(request.form)
v = request.get_json().get('mvar')
print(v)
return render_template('new.html',form=form,v=v)
然而,当打印出结果时我得到的输出是“无”而我预期它是“ 1 ”
真希望专家能帮助我,谢谢!
答案 0 :(得分:0)
您在Flask代码中正在寻找Request.get_json()方法。
data = request.get_json()
编辑这里是我使用的确切模式:
$.ajax({
type: "POST",
url: "{{ url_for("get_post_json") }}",
contentType: "application/json",
data: JSON.stringify({hello: "world"}),
dataType: "json",
success: function(response) {
console.log(response);
},
error: function(err) {
console.log(err);
}
});
@app.route('/_get_post_json/', methods=['POST'])
def get_post_json():
data = request.get_json()
return jsonify(status="success", data=data)
答案 1 :(得分:0)
而不是使用
v = request.form.get('mvar', type=int)
使用此
v = request.get_json().get('mvar')
一旦你打印v然后你应该得到它。