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开发 - 图形化生成的贝塞尔插值器

    基于三次方贝塞尔曲线的插值器 在动画开发过程中,经常需要使用到插值器来满足我们的动画设计需求.然而,官方提供的插值器并不能满足所有的需求,所以我们需要自定义插值器. 下面介绍的三次方贝塞尔曲线的插值器 ...

  2. php 怎么查看是否开启了socket

    <?php if(extension_loaded('sockets')){ echo "已开启"; }else{ echo "未开启"; } ?>

  3. 04 Java图形化界面设计——布局管理器之BorderLayout(边界布局)

    边界布局管理器把容器的的布局分为五个位置:CENTER.EAST.WEST.NORTH.SOUTH.依次对应为:上北(NORTH).下南(SOUTH).左西(WEST).右东(EAST),中(CENT ...

  4. TCP/IP协议族-----15、传输控制协议(TCP)

  5. ytu 2231: 交集问题(线性表)(数据结构,链表练习)

    2231: 交集问题(线性表) Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 6  Solved: 3[Submit][Status][Web Boar ...

  6. Docker入门与应用系列(五)Dockerfile

    Dockerfile是为快速构建docker image而设计的,当你使用dockerbuild 命令的时候,docker 会读取当前目录下的命名为Dockerfile(首字母大写)的纯文本文件并执行 ...

  7. AndroidManifest.xml文件详解(activity)(三)四种工作模式

    android:launchMode 这个属性定义了应该如何启动Activity的一个指令.有四种工作模式会跟Intent对象中的Activity标记(FLAG_ACTIVITY_*常量)结合在一起用 ...

  8. MVC结构简介

    本文编译自J2EE的相关文档.MVC(Model-View-Controller)应用程序结构被用来分析分布式应用程序的特征.这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更加容易. ...

  9. 查询excel中共多少个工作表,绝对好使

    用宏表函数:具体做法如下: CTLT+F3,定义一个名称,名字随便起,比如AA,公式=GET.WORKBOOK(4),确认. 然后随便一个单元格输入=AA就可以了显示有几个工作表了.

  10. Rnqoj (未出现的子串)

    题目链接:传送门 题目大意:略: 题目思路:DP思想 读入数据后,从后向前遍历,假如我们是要找一个长度为n的以1开头的数字串的所有序列,那么可以将它表示为1+(任意数开头的长度为n-1的序列) 然后我 ...