- 背景:
项目需求,接触了bootstarpTable,这个插件,很不错的一个插件,有bootstarp做大腿,api比较全面。写的过程中碰到了几个问题,记录一下。 问题:
封装ajax,后台借口是get请求类似于
localhost:8893/api/test?quset={"aa":123}
这样,刚开始思路如下“`js
queryParams: params => {
var value = {
pageSize : params.limit, //每一页的数据行数,默认是上面设置的10(pageSize)
pageIndex : params.offset/params.limit+1, //当前页面,默认是上面设置的1(pageNumber)
param : “Your Param” //这里是其他的参数,根据自己的需求定义,可以是多个
}
return ({“quset”:value}) //也尝试了return (“quset”=JSON.stringify(value))
}但是不是把中括号加上了就是把后边的quset去掉了,然后达不到想要的格式。加上有考虑到可能会增加token验证,百度搜到了可以自己封装ajax,但是相关的资料太少了,没有搜索到几个自己封装ajax的例子。不过也是摸索着实现了自己的要求,代码如下: ```js //查询数据 searchData(res) { //查询数据 let that = this; _call(res['url'] + "?queryJson=" + JSON.stringify(res.data), {}, val => { if (val.Success) { //分页和不分页所传数据不同 if(that.option.pagination){ let _val = {}; _val['rows'] = val['rows']; _val['total'] = val['totalCount']; _val['page'] = val['pageIndex']; res.success(_val); //也可以写成res.success({rows:val['rows'],page:val['pageIndex']}) }else{ res.success(val['rows']);//一定要调用res的success 不能直接更新bootstarp } } }, 1) }
注意:成功的回调一定要用res中的success方法,就是因为在封装的ajax的成功回调中调用了更新bootstarpTable的Api,导致测试半天没有加载数据。
2.点击查询
开始思路受限,总想着点击查询后再调用bootstarp的ajax,苦恼没有对应api。后来出去溜达一圈,换个思路,点击查询是直接调用自己的ajax,查询到数据然后更新bootstarp不就行了吗。问题算是告一段落。- 代码地址
代码已经上传到github:传送门。目前代码用到的只有这些,后续有别的需求会更新博客。
bootStarp Table插件使用,手动封装ajax发送请求
最新推荐文章于 2024-04-23 03:20:26 发布