flask表单提交的两种方式
2015-12-07 22:29
501 查看
一.通用方式
通用方式就是使用ajax或者$.post来提交。
前端html
将操作绑定
这样通过js来实现提交表单的功能,然后flask后端
通用方式的好处就是在其他框架中也适用。而且也并不复杂。
二.比较正宗的flask方式
前端html:
前端这时候可以不用绑定操作了,但需要新建一个form对象,用这种方式的好处就是flask有很多内置的方式帮你校验你的提交,一个字:省事!
后端这时候就要变成:
通用方式就是使用ajax或者$.post来提交。
前端html
<form method="post" action="/mockservice" method = "post"> ... <div class="form-group"> <label>data <font style="color:#a94442" size="2"> <input class="form-control" id="data" name="data"> </div> <div class="form-group"> <button id="start" type="submit" class="btn btn-default">Submit  </button> </div> </form>
将操作绑定
$(document).ready(function() { MockTask.start(); }); MockTask ={ startId: "start_mock", start: function(){ $('#'+this.startId).click(function (){ ...var data = $('#data').val(); var form_data = JSON.stringify({ ..."data": data }); MockSubmit.createTask(form_data); }); }, }; MockSubmit = { createTask: function(data){ var url = "/mockservice"; $.post(url,data,function(result){ if (result.code != 'SUCC'){ alert("failed to create a new api.") } else { alert("succ"); } }); } }; function isEmptyString(info) { if (info == null || info == undefined || info.length == 0){ return true; } return false }
这样通过js来实现提交表单的功能,然后flask后端
@app.route("/mockservice",methods=['GET','POST']) def MockController(): form = MockCreate() if request.method == 'POST': code = request.form['code'] api = request.form['api'] return ...
通用方式的好处就是在其他框架中也适用。而且也并不复杂。
二.比较正宗的flask方式
前端html:
<form method="post" action="/mockservice" method = "post"> ... <div class="form-group"> <label>data <font style="color:#a94442" size="2"> <input class="form-control" id="data" name="data"> </div> <div class="form-group"> <button type="submit" class="btn btn-default">Submit  </button> </div> </form>
前端这时候可以不用绑定操作了,但需要新建一个form对象,用这种方式的好处就是flask有很多内置的方式帮你校验你的提交,一个字:省事!
class MockCreate(Form): user_email = StringField("email address",[validators.Email()]) api = StringField("api",[Required()]) submit = SubmitField("Submit") code = IntegerField("code example: 200",[Required()]) alias = StringField("alias for api") data = TextAreaField("json format",[Required()])
后端这时候就要变成:
@app.route("/mockservice",methods=['GET','POST']) def MockController(): form = MockCreate() code = form['code'] api = form['api'] return render_template("testf.html",api=api,data=code)
相关文章推荐
- HDU1069 Monkey and Banana 简单dp
- Python的lambda匿名函数
- 扩展欧几里德问题
- [LeetCode]018-4-Sum
- 随意细解:UI -- 初级数据持久化
- 新能源首页
- 内存管理pbuf.c源码解析——LwIP学习
- COCOS2D-3.9 Value接口分析
- 浅谈java.awt使用过程中遇到的问题
- HTTP Referer
- 【Android学习】真机获取SD卡遇到的问题
- 继续学习
- 51nod 1463:找朋友 线段树
- html5跟随鼠标炫酷网站引导页动画特效
- jquery-2.1.4 源码解读(1):jquery架构
- c程序十六进制字符串转换为整数与反转
- 将CentOS 6.7默认的Python 2.6.6升级为2.7.4版本
- Android Studio中使用NDK
- struts2标签
- UItextField 和 UIbutton