码迷,mamicode.com
首页 > Web开发 > 详细

Flask web开发 处理Ajax请求

时间:2016-04-04 12:59:06      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:

本文介绍如何处理ajax请求,

一、处理ajax的post请求

举例一:

js代码举例如下:


var id = obj.parentNode.parentNode.id; $.post("/delitem/"+id, {}, function(data){ showData(data); },"json");

对应的flask代码举例如下:

@app.route(/delitem/<id>, methods=[POST])
def delitem(id):
    db.delItem(id) #业务代码
    #db.data是python列表对象(元素是字典),返回到浏览器后就是js数组(元素是Josn对象
    return jsonify({"result":db.data})  

 

举例2:

js代码如下

    var id = $("#recordid").val();
    var name = $("#recordname").val();
    var msg = $("#recordinfo").val();
    $.post("/additem", {"id":id,"name":name,"msg":msg}, function(data){
        showData(data);
    },"json");

对应的flask代码如下:

@app.route(/additem, methods=[POST])
def additem():
    db.addItem(request.form.get(id),request.form.get(name),request.form.get(msg))
    return jsonify({"result":db.data})

注意,@app.route 方法中需要指定methods参数为POST

可以看出,在flask中,通过request.form.get 来获取ajax发出的请求。 get方法还可以带第2个参数缺省值,如果指定的参数名不存在,有缺省值的则返回缺省值,没有的话返回None。注意,如果浏览器不是通过ajax发来的post请求,而是通过form提交的,则用request.form[表单元素名]来获取表单元素中的值

 

二、处理ajax的get请求

与post请求类似,区别是:

1)@app.route 方法中不需要指定methods参数,因为缺省就是响应get请求

2)获取js发来的参数是用 request.args.get方法

 

Flask web开发 处理Ajax请求

标签:

原文地址:http://www.cnblogs.com/51kata/p/5351665.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!