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

Posted

技术标签:

【中文标题】使用 Jquery $.ajax 在 Flask 上调用服务器端函数 [重复]【英文标题】:Use Jquery $.ajax to call a server side function on Flask [duplicate] 【发布时间】:2018-03-09 13:37:26 【问题描述】:

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

我找到了一个 php in this post 的简单示例。我认为如果我们可以包含这个非常相同的示例,但对于 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>

这将是控制器上的 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');

【问题讨论】:

【参考方案1】:

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

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

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

【讨论】:

以上是关于使用 Jquery $.ajax 在 Flask 上调用服务器端函数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

向 Flask 应用程序发出 AJAX 请求

flask jQuery ajax 上传文件

Flask和Ajax交互

前端与后端的数据交互(jquery ajax+python flask)

如何从 AJAX 帖子中获取 Flask 中的数据

python Flask JQuery使用说明