Flask:如何将JSON传递到javascript文件?

时间:2018-08-30 13:35:59

标签: javascript python html flask

我有对象main.py

from __future__ import with_statement
from flask import Flask,request,jsonify,send_file,render_template
import json
# from flask_cors import CORS

app = Flask(__name__, static_url_path='/vendor')
# CORS(app)


@app.route('/')
def home():
    return render_template('index.html',id_user="id1")


@app.route('/receive_word',methods=['POST'])
def receive_word():
    print(request.form)
    data = request.form['javascript_data']
    d = json.loads(data)
    print(d['key1'])
    print(d['key2'])
    return d

我有Mike.js

$.post("/receive_word", {
    javascript_data: JSON.stringify({ "key1":1, "key2":this.currentTranscript })
});
console.log({{ d }});

如何将main.py中的d传递给main.js?代码无法从main.py捕获d变量 谢谢

2 个答案:

答案 0 :(得分:1)

您似乎在使用JQuery来调用端点。您应该使用$.post回调参数:

$.post("/receive_word", {
    javascript_data: JSON.stringify({ "key1":1, "key2":this.currentTranscript })
}, 
// Here is the callback
function(d, status){
     // process d
});

答案 1 :(得分:0)

使用jsonify返回Flask视图中的json数据,假设d是有效的Python字典:

@app.route('/receive_word',methods=['POST'])
def receive_word():
    data = request.form['javascript_data']
    d = json.loads(data)   
    return jsonify(d)