繁体   English   中英

将变量从 JavaScript 发送到 Flask

[英]Send variable from JavaScript into Flask

我在这里是一个完整的初学者,在将 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)

但是,当我打印出结果时得到的输出是“ None ”而我预计它是“ 1

真心希望高手能帮帮我,谢谢!

Request.get_json()方法是您在 Flask 代码中寻找的方法。

data = request.get_json()

在这里编辑是我使用的确切模式:

javascript:

$.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)

而不是使用

v = request.form.get('mvar', type=int)

使用这个

v = request.get_json().get('mvar')

一旦你打印 v 那么你应该得到它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM