背景
在一个Thinkphp的复杂页面(包含volist)中实现volist标签显示jquery查询结果的返回
知识点
使用ajax的目的是不刷新整个页面的前提下实现部分表格数据的刷新,但是注意Thinkphp框架中的volist标签是运行在服务器端的,所以使用js动态获取的数据是无法使用thinkphp标签的,无法将$this->ajaxReturn($data);的结果直接用$("#div_id").html(data)的方法显示。
目前找到的解决方法(都有缺陷)
1.新建一个页面进行显示
重新打开一个跳转页面,将返回的值采用 $this->assign("volist_name", $data);的方式返回。
**缺陷:相当于对整个页面重新进行了加载,并没有达到部分更新表单的需求。
2.不用thinkphp框架的标签进行显示
不采用volist标签,对ajaxReturn返回的结果进行分析,按照自己的js的template模板进行显示,可以实现局部表单更新1,template模板
{{#data}}
{{type_name}}{{isp_name}}AS{{asn}}{{update_time}}
{{/data}}2.对html简单处理
varevents_obj=$('#table_id');
varevents_html=events_obj.find('tbody');
varevents_tpl=$('#events-template').html();
3.对返回的数据进行展示(在ajax的success后function中的操作)
varrendered_events=Mustache.render(events_tpl,data);
events_html.html(rendered_events);
3.暴力拼接
作者:analanxingde
链接:/p/1638fd380dd7