在 Flask 上使用 Jquery $.ajax 调用服务器端函数

Rim*_*imo 5 python ajax flask

我想使用 Ajax 调用服务器端函数。

在这篇文章中找到了一个简单的 PHP 示例。我认为如果我们可以包含这个非常相同的示例,但对于 Python / Flask MVC 框架,社区会有所改善。

这是View端的ajax代码,叫做test.html:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>

<script>
function create () {
$.ajax({
url:"test1", //the page containing python script
type: "post", //request type,
dataType: 'json',
data: {registration: "success", name: "xyz", email: "abc@gmail.com"},
success:function(result){
console.log(result.abc);
      }
    });
   } 
</script>
Run Code Online (Sandbox Code Playgroud)

这将是控制器上的 Python 代码:

@app.route('/test', methods=['GET','POST'])
    def test():
        return render_template("test.html", brand = brand)

@app.route('/test1', methods=['GET','POST'])
    def test1():
        if registration == "success":
            return json.dump({"abc":'successfuly registered'});
Run Code Online (Sandbox Code Playgroud)

Jor*_*ley 5

删除视图函数的参数。使用 访问发布的数据request.form。使用 返回 JSON 响应jsonify。视图必须从每个执行路径返回响应。

@app.route('/test1', methods=['GET', 'POST'])
def test1():
    if request.form.get('registration') == 'success':
        return jsonify({'abc': 'successfuly registered'})

    return jsonify({'abc': 'registration unsuccessful'})
Run Code Online (Sandbox Code Playgroud)