免责声明

易百易数码科技

formdata格式传递参数详解(Flask的request.form和request.data有什么区别)

URL传值和form表单提交的区别和原理

区别:

url传值就是get ,from表单就是post。

formdata格式传递参数详解(Flask的request.form和request.data有什么区别)-图1

原理:

(1)get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。

(2)post是通过HTTP将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

formdata格式传递参数详解(Flask的request.form和request.data有什么区别)-图2

Flask的request.form和request.data有什么区别

首先使用这两个方法的前提是post或者put请求两者的区别在于处理不同mimetype类型的数据,返回值也不同。

当minitype为application/x-www-form-urlencoded或者multipart/form-data的时候,也就是我们所谓表单提交,访问request.form会返回一个包含解析过的的表单对象的 MultiDict,而request.data是空的。

当flask遇到不能处理的mimetype时,请求的数据就不能被其它方式正常解析,这些方式包括request.form、request.json和request.files这几个常用的用来访问数据的属性。

formdata格式传递参数详解(Flask的request.form和request.data有什么区别)-图3

这时就把数据作为字符串存在request.data中。这里注意一下request.json需要application/json的mimetype类型。知道了这些处理数据的过程,那我们就可以对提交的数据进行扩展,定义一些自己专用的mimetype类型,并在Request类中定义处理专用mimetype数据的方法,从而让我们实现更个性、与众不同的功能需求。

jquery.form提交后如何获取数据

$("button").click(function(){ alert($(this).serialize());});//或者$('form').submit(function() { alert($(this).serialize()); return false;});

serialize() 方法通过序列化表单值,创建 URL 编码文本字符串

如何获取form表单提交后返回

分享:
扫描分享到社交APP
上一篇
下一篇