无法使用Ajax将数据从客户端(JS)传递到服务器(Flask)

时间:2018-05-28 15:48:44

标签: javascript python jquery ajax flask

当用户点击提交按钮时,我第一次使用jQuery将通过JS脚本填充的字典传递给我用Python(Flask)编写的服务器(我在某处读到了AJAX的方法)。

由于在下面描述的服务器功能中,request.get_data()或request.form为None,因此必须打破。如果任何经验丰富的程序员可以就如何设置jQuery请求提出建议,那将非常感激。

在Python中,我有以下内容:

@app.route('/submit',methods=['POST'])
def submit():
     info = request.form['info']
     action = request.form['action']
     ...

处理字典信息。在我的html文件中,我通过以下方式加载AJAX:

<head>
<script 
src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"> 
</script>
</head>

定义我的“提交”按钮如下:

<button class="btn" onclick="send(event,'s')" id="SUBMIT">Submit</button>

通过脚本处理动作:

<script>
var dict = [];
function send(event,action) {
    $.post('/submit', {
        info: dict,
        action: action
    }).done(function() {
    }).fail(function() {
});
}
...
</script>

1 个答案:

答案 0 :(得分:0)

将request.form转换为字典并打印它,您可以获取值

print(request.form.to_dict())