使用bootstrap-table的post问题
由于业务需求,使用bootstrap-table时,可能会向后台发送一大堆数据,假如使用url的get的方式的话,因为浏览器和服务器都会对get的字节长度进行限制,可参考下面这文章:
GET请求中URL的最大长度限制总结
所以当数据较长的时候,需要采用post的方式,
如下所示:
oTableInit.Init = function() {
var url = '/clcpm/MainController/getMyWorkTask.do';
$('#MyWorkTask').bootstrapTable({
url: url, //请求后台的URL(*)
method: 'POST', //请求方式(*)
toolbar: '#toolbar', //工具按钮用哪个容器
striped: false, //是否显示行间隔色
通过浏览器捕获请求,可知道得到的数据是这样的形式,
这样的数据,在java后台(使用springMvc)使用@RequestParam()或者request.getparameter(),都是拿不到数据的。
这种数据只有在后台使用流获取才可以得到数据,查看bootstrap-table资料后,发现在js初始化的时候,如在post的后面,加上这句
contentType : "application/x-www-form-urlencoded",
如图所示:
var url = '/clcpm/MainController/getMyWorkTask.do';
$('#MyWorkTask').bootstrapTable({
url: url, //请求后台的URL(*)
method: 'POST', //请求方式(*)
contentType : "application/x-www-form-urlencoded",
toolbar: '#toolbar', //工具按钮用哪个容器
这时候捕获的数据格式
这时候,聪明的小伙伴已经知道可以达到想要的效果了。