flask和ajax中的post和get方法小结
来源:互联网 发布:书包推荐 知乎 编辑:程序博客网 时间:2024/05/22 03:29
最近在学python的web开发,非常喜欢python简洁干净的语法,一向不是非常喜欢集成东西多的框架,正好公司里用的是flask这种“micro framework”,就开始自学。学了个大概之后首先遇到的问题时,如何用get和post进行前后端数据交互。网上对于flask的问题不是非常多,就自己小结一下。
1. ajax vs get
$.ajax({type: "get",url: "http://127.0.0.1:5000/login",contentType: "application/json;charset=utf-8",dataType: "json",data: "username="+$("#username input").val()+"&password="+$("#password input").val(),success: function(data){//handle data}});
$.get({"http://127.0.0.1:5000/login",{"username": $("#username input").val(),"&password": $("#password input").val()},success: function(data){//handle data}});
当时遇到一个很奇怪的问题,用$.get的简略ajax方法,返回的data中如果有中文会出现乱码,无论如何在后端方法中加入encode('utf8')都无法解决。后来通过修改为最原始的ajax方法,可能是定义了contentType中的charset,乱码问题顺利解决
2. ajax vs post
$.ajax({type: "post",url: "http://127.0.0.1:5000/submitSheet",contentType: "application/json;charset=utf-8",dataType: "json",data: {'location': $("#location").val()},success: function(data){//handle data}});
$.post("http://127.0.0.1:5000/submitSheet",{'location':$("#location").val()},function(data){var json = JSON.parse(data);alert(json.result);});
到了这里其实有点奇怪,本人也只是时间之余自己学习,对底层技术并不非常了解。对于get\post\ajax的选择问题还有待发掘其中的秘密。
3. 处理返回的data
假设后端返回的数据格式为:
return json.dumps({'status': status, 'result': result})
如果使用$.ajax,其中定义了dataType为json格式,所以可以直接用data.status和data.result来获取数据,如果result也是json格式的,但是在传输数据时冒号后面的部分会被转化为string,所以可能需要用JSON.parse(转化为json格式.
如果是使用$.get或者$.post,那么在处理data时需要首先使用JSON.parse()将string转化为json格式。
- flask和ajax中的post和get方法小结
- ajax中的get和post方法
- ajax中的get和post
- Ajax 中的GET和POST
- AJAX get() 和 post() 方法
- Ajax中的get和post的区别
- ajax中的POST和GET传值
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- ajax中的get和post说明
- Ajax中的get和post请求比较
- ajax中的POST和GET传值
- 浅谈Ajax中的GET和POST
- USACO Section 1.1 Broken Necklace
- 二分查找实现
- IOS, Android开发有用的网址
- Oracle数据库之SQL连接查询
- 6-1 修改错误
- flask和ajax中的post和get方法小结
- java.util.Date和java.sql.Date的区别
- Loopback接口-tcp滑动窗口-tcp拥塞窗口
- JSON STRUTS 插件
- linux下一个简单的TCP通信程序——客户端向服务端发送任意字符串
- 链表常见考题的一些实现
- WCDMA HSPA(1)
- _beginThreadex的用法
- 新浪sae部署django1.4