1. $(document).ready(function(){
  2. $.ajax({
  3. url:'/query/',
  4. dataType:'json',
  5. type:'GET',
  6. success:function(data){
  7. for(var i=0;i<data.length;i++){
  8. var a='<tr>'+'<td>'+data[i].codename+'</td>'+'<td>'+data[i].name+'</td>'+'<td>'+data[i].content_type_id+'</td>'+'</tr>';
  9. $('tbody').append(a)
  10. }
  11. }
  12. });
  13. });
  14. js通过.访问属性

1.ajax方式实现

数据data为list,每一个元素为dict


2.用bootstrap自带的table实现,还是麻烦了一点
  1. <script type="text/javascript" src="{% static 'js/bootstrap-table.js' %}"></script>
  2. <script type="text/javascript" src="{% static 'js/bootstrap-table-zh-CN.js' %}"></script>
  3. <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap-table.css' %}">
  1. <table data-toggle="table" data-url="/query/">
  2. <thead>
  3. <tr>
  4. <th data-field="codename">权限代码</th>
  5. <th data-field="name">权限名称</th>
  6. <th data-field="content_type_id">权限分组</th>
  7. </tr>
  8. </thead>

3.最简单的实现,其实就是js访问后端传过来的数据,用.访问js属性,{{}}传递参数
  1. return render_to_response('query.html', {'user_permission': user_permission},context_instance=RequestContext(request))
  2. 然后在query.html里可以循环user_permission
  3. {% for user in user_permission%}
  4.   {{ user.user_name }}
  5. {% endfor %}

4.输出复杂好看的表格

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>数据汇总</title>
  6. <script type="text/javascript" src="/static/webprj/template.js"></script>
  7. <script type="text/javascript" src="/static/webprj/jquery-1.11.2.js"></script>
  8. <script type="text/javascript" src="/static/bootstrap/js/bootstrap.min.js"></script>
  9. <link rel="stylesheet" type="text/css" href="/static/bootstrap/css/bootstrap.min.css">
  10. <script type="text/javascript" src="/static/bootstrap-table/bootstrap-table.js"></script>
  11. <link rel="stylesheet" type="text/css" href="/static/bootstrap-table/bootstrap-table.css">
  12. <style type="text/css">
  13. table,table td,table th{border:1px solid #000;border-collapse:collapse;font-size: 15px;}
  14. table tr td{
  15. padding:0px 0px 0px 5px;
  16. }
  17. table tr th{
  18. text-align:center;
  19. }
  20. table{
  21. max-width:100%;
  22. font-size:12px;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <div>
  28. <div id="dv">
  29. <input id="print2" type="button" value="打印">
  30. </div>
  31. <table id="table" class="table table-bordered table-hover">
  32. </table>
  33. </div>
  34. <!--方法2-->
  35. <div style="display:none">
  36. <form id="postData_form" method="post" target="_blank">
  37. <!--<form id="postData_form" target="_blank">-->
  38. <input name='postData' id='postData' type='hidden' value=''/>
  39. </form>
  40. </div>
  41. <script type="text/javascript">
  42. //var results = document.getElementById("results");
  43. var spinfos={{spinfos|safe}};
  44. $(function(){
  45. $('#table').bootstrapTable({
  46. method: 'get',
  47. cache: false,
  48. height: 600,
  49. striped: true,
  50. trimOnSearch: true,
  51. checkAll:true,
  52. clickToSelect: true,
  53. singleSelect: false,
  54. pagination: false,
  55. pageSize: 10,
  56. pageNumber:1,
  57. pageList: [10, 20, 50, 100, 200, 500],
  58. search: true,
  59. showColumns: true,
  60. showRefresh: false,
  61. showExport: true,
  62. columns:[
  63. {
  64. field:'state',
  65. checkbox:'true'
  66. },
  67. {
  68. field:'name',
  69. title:'名称',
  70. align:"center",valign:"middle",sortable:"true"
  71. },{
  72. field:'spec',
  73. title:'规格',align:"center",valign:"middle",sortable:"true"
  74. },{
  75. field:'code',
  76. title:'商品代码',align:"center",valign:"middle",sortable:"true"
  77. },{
  78. field:'munit',
  79. title:'单位',align:"center",valign:"middle",sortable:"true"
  80. },{
  81. field:'code2',
  82. title:'条形码',align:"center",valign:"middle",sortable:"true"
  83. },
  84. {
  85. field:'price',
  86. title:'价格',align:"center",valign:"middle",sortable:"true"
  87. },{
  88. field:'vipprice',
  89. title:'会员价',align:"center",valign:"middle",sortable:"true"
  90. }],
  91. data:spinfos
  92. })
  93. $("#print2").click(function(){
  94. printData()
  95. })
  96. })
  97. function printData(){
  98. var newspinfos = []
  99. var rows = $.map( $('#table').bootstrapTable('getSelections'),function(row){
  100. return row
  101. });
  102. console.log(rows)
  103. //console.log(spinfos)
  104. var textspinfos = JSON.stringify(rows)
  105. console.log(textspinfos)
  106. $("#postData").val(textspinfos)
  107. var postUrl = "/printprice2"
  108. document.getElementById("postData_form").action=postUrl
  109. document.getElementById("postData_form").submit()
  110. }
  111. </script>
  112. </body>
  113. </html>



























table实现 js数据访问 传递json数据用render_to_response的更多相关文章

  1. 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来的Json数据写入数据库表中

    摘自:http://blog.csdn.net/mazhaojuan/article/details/8592015 通过js获取前台数据向一般处理程序传递Json数据,并解析Json数据,将前台传来 ...

  2. 用easyui从servlet传递json数据到前端页面的两种方法

    用easyui从servlet传递json数据到前端页面的两种方法 两种方法获取的数据在servlet层传递的方法相同,下面为Servlet中代码,以查询表中所有信息为例. //重写doGet方法 p ...

  3. Ajax(form表单文件上传、请求头之contentType、Ajax传递json数据、Ajax文件上传)

    form表单文件上传 上菜 file_put.html <form action="" method="post" enctype="multi ...

  4. Ajax传递json数据简介和一个需要注意的小问题

    Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...

  5. boke例子: freermarker:在使用ajax传递json数据的时候多出冒号

    boke例子: freermarker:在使用ajax传递json数据的时候多出冒号 json数据是用JSON.stringify()格式化的数据,然后用ajax传递,发现数据多出一个冒号:, 后来度 ...

  6. 利用AXIS2传递JSON数据

    Axis2是目前比较流行的WebService引擎.WebService被应用在很多不同的场景.例如,可以使用WebService来发布服务端 Java类的方法,以便使用不同的客户端进行调用.这样可以 ...

  7. js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可)

    js进阶ajax读取json数据(ajax读取json和读取普通文本,和获取服务器返回数据(链接)都是一样的,在url处放上json文件的地址即可) 一.总结 ajax读取json和读取普通文本,和获 ...

  8. SpringMVC传递JSON数据

    文章目录 一.前后端传递和接收JSON数据 1:是要Ajax默认格式来传递数据(*) 2:使用application/json格式来传递数据 二.spring-web.xml中需要如下配置 一.前后端 ...

  9. 用ajax获取后台数据,返回json数据,怎么在前台使用?

    用ajax获取后台数据,返回json数据,怎么在前台使用呢?后台 C# code   ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 if (dataType == &qu ...

随机推荐

  1. Android Studio无法启动,gradle下载不了 提示“building “ 项目名”gradle project info”

    Google在2013年I/O大会上发布了Android Studio,AndroidStudio是一个基于IntelliJ思想的新的Android开发工具.下面介绍一下Android Studio安 ...

  2. EasyUI DataGrid 编辑单元格

    如下图: 现改为单击某个单元格只对此单元格进行可编辑 <TABLE>标记添加 onClickCell <table id="dg" class="eas ...

  3. Jetty修改默认端口

    1.webserver: Jetty2.version:   7.6.5, 8.1.53.operation: 修改默认端口3.1 修改Jetty目录下的/etc/jetty.xml 文件中的[por ...

  4. 移动端上下滑动事件之--坑爹的touch.js

    原文   http://blog.csdn.net/minidrupal/article/details/39611605 移动端页面的盛行,微信的便利的页面推广等等,让越来越多的css3效果和htm ...

  5. python笔记-基础入门

    Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单. 2.易于阅读:Python代码定义的更清晰. 3.易于维护:Python的成功在于 ...

  6. MFC多国语言——资源副本

    此随笔主要参考了http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html 为软件提供多国语言的支持的具体实现方法有很多,但基本原 ...

  7. WPF数据验证(4)——响应与获取验证错误

    1780 前面的示例中,有关用户接受到错误的唯一指示是在违反规则的文本框周围的红色轮廓.为了提供更多信息,可以处理 Error 事件,但存储或清除错误时会引发该事件,但前提是必须确保已将 Bindin ...

  8. python入门(二):数据类型和结构

    Python3 中有六个标准的数据类型:tips:用type()函数或者是isinstance(x,int)来判断数据类型,然后for i in 来遍历集合1.Number(数字支持 int.floa ...

  9. (转)使用 PyInstaller 把python程序 .py转为 .exe 可执行程序

    最近使用Python为项目开发一款绘图工具(绘出 声场三维模型).因为希望能把Python脚本发布为脱离Python平台运行的可执行程序,比如单个的exe文件.PyInstaller恰满足这个需求.本 ...

  10. 深入理解 Java 垃圾回收机制(转)

    一.垃圾回收机制的意义 Java语言中一个显著的特点就是引入了垃圾回收机制,使c++程序员最头疼的内存管理的问题迎刃而解,它使得Java程序员在编写程序的时候不再需要考虑内存管理.由于有个垃圾回收机制 ...