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

Use Jquery $.ajax to call a server side function on Flask

本问题已经有最佳答案,请猛点这里访问。

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

我在本文中找到了一个简单的PHP示例。我认为,如果我们可以将这个非常相同的示例包括在python/flask MVC框架中,那么社区将会得到改善。

这是视图侧的Ajax代码,称为test.html:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js">


function create () {
$.ajax({
url:"test1", //the page containing python script
type:"post", //request type,
dataType: 'json',
data: {registration:"success", name:"xyz", email:"[email protected]"},
success:function(result){
console.log(result.abc);
      }
    });
   }

这就是控制器上的python代码:

1
2
3
4
5
6
7
8
@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'});


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

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

    return jsonify({'abc': 'registration unsuccessful'})