bootstrap table 不刷新表格

图片说明
如上图:我做了一 个新增行和删除行,当我填写前面几行数据后,点击新增行会清空我前
面填写的数据, bootstrap table有什么办法不刷新表格内的内容?

4个回答

感谢各位的回答,我的问题已经解决了,但是我想不起是怎么解决的了,抱歉!

weixin_43028740
胖猪猪,渣渣胖 我添加数据,修改数据,会把表格里面的之前的内容刷新没有了,请问如何让表格不刷新,楼主解决了?
一年多之前 回复
u014251081
小龙豪 你怎么解决的啊
2 年多之前 回复

因为删除bootstraptable会自动刷新表格,重新加载数据,所以会清空你之前所填写的值

应该是你的代码有问题,比如说你的id是一样的,或者你代码中有清除表格的逻辑。

zhangjun10101010
fy_back 我新增行是用:$tableentry.bootstrapTable("append",randomdata); 删除行:$tableentry.bootstrapTable('remove', { field: 'no', values: no}); "no"就是图中序号
接近 4 年之前 回复

我也有同样的问题 楼主解决了吗

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
bootstrap table搜索不管用
![图片说明](https://img-ask.csdn.net/upload/201804/09/1523268727_558377.png) search设置了,使用时表格会刷新,但表格内数据不会变化 是因为设置了queryParams吗?还是因为其他
bootstrap table export 导出选项出现问题
表中属性是这样的当exportDataType是basic或者为空时候可以导出当前页面,但是只要改成all或者selected就会报错 说 nested exception is java.lang.IllegalStateException: Optional int parameter 'limit' is not present but cannot be translated into a null value due to being declared as a primitive type. Consider declaring it as object wrapper for the corresponding primitive type分页的功能也变没了,这个limit是之前传到后台每页的数量。发现问题了 似乎点击导出table按钮后 会根据url地址对后台再进行一次查询 然而我做的是真分页 查询的只有一页 所以导致limit和offset都为空 只能说这个导出excel不能用咯 ``` url : '/tagq_web/order/showorder.do', //请求后台的URL(*) method : 'get', //请求方式(*) toolbar : '#toolbar', //工具按钮用哪个容器 striped : true, //是否显示行间隔色 cache : false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination : true, //是否显示分页(*) sortable : true, //是否启用排序 sortName : "order_id", //默认排序字段 sortOrder : "desc", //排序方式 queryParams : queryParams, //传递参数(*) sidePagination : "server", //分页方式:client客户端分页,server服务端分页(*) pageNumber : 1, //初始化加载第一页,默认第一页 pageSize : 5, //每页的记录行数(*) pageList : [ 5, 10, 25, 50, 100 ], //可供选择的每页的行数(*) search : false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch : true, showColumns : true, //是否显示所有的列 showRefresh : false, //是否显示刷新按钮 minimumCountColumns : 2, //最少允许的列数 clickToSelect : true, //是否启用点击选中行 height : 400, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 uniqueId : "order_id", //每一行的唯一标识,一般为主键列 showToggle : false, //是否显示详细视图和列表视图的切换按钮 showExport : true, exportDataType : "all", cardView : false, //是否显示详细视图 detailView : false, //是否显示父子表 responseHandler : responseHandler, ```
bootstrap 表格添加一行表格
``` <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Document</title> <script src="static/js/import.inc.js"></script> </head> <style type="text/css"> .table{ margin-top: 5px; } .button{ margin-top: 8px; margin-left: 10px; } </style> <script type="text/javascript"> $(function(){ //编辑表格 $('#reportTable').bootstrapTable({ //数据来源的网址 url:'/index.xhtml', method: 'post', editable:true,//开启编辑模式 clickToSelect: true, showPaginationSwitch:true, //显示分页切换按钮 search: true, //显示检索框 showRefresh: true, //显示刷新按钮 showToggle:true, //显示切换按钮来切换列表/卡片视图 pagination: true, pageList: [5,25], pageSize:5, pageNumber:1, columns: [[ {field:"id",edit:false,title:"编号",align:"center"}, {field:"user_company",edit:{ type:'select',//下拉框 //数据来源地址 //url:'user/getUser.htm', data:[{id:1,text:'lzx'},{id:2,text:'lsl'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } },title:"下拉框",align:"center",width:"200px"}, {field:"time",edit:{ type:'date',//日期 required:true, click:function(){ } },title:"时间",align:"center"}, {field:"name",title:"名字",align:"center"}, {field:"age",title:"年龄",align:"center"}, {field:"gender",title:"性别",align:"center",width:"200px",formatter:function(value,row,rowIndex){ if(value==1){ return '男'; }else if(value==2){ return '女'; } },edit:{ type:'select',//下拉框 //数据来源地址 data:[{id:1,text:'男'},{id:2,text:'女'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } }} // {field:"userstatus_end_time",title:"操作",align:"center",formatter:function(value,row,rowIndex){ // var strHtml ='<a href="javascript:void(0);" onclick="removeRow('+row+')">删除</a>'; // return strHtml; // },edit:false} ]] }); $('#addRowbtn').click(function(){ var data = {}; $('#reportTable').bootstrapTable('append',data); }); $('sava').onClickCell(function(){ }); }); function removeRow(row){ console.log(row); } function update(){ var row = $('#reportTable').bootstrapTable('getSelections') console.log(row) location.href="delete.action?uid="+row.uid var row = $('#dg').datagrid('reload'); } function sava(){ var row = $('#reportTable').bootstrapTable('getSelections'); if(row.length==1){ console.log(a[0].id); }else{ console.log(row.name); alert("请选中一行") } } </script> <body> <div id="myTabContent" class="tab-content" style=""> <!--可编辑表格--> <div class="tab-pane fade in active button" id="tab2"> <button type="button" class="btn btn-success dropdown-toggle" id="addRowbtn"> <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>增加 </button> <button type="button" class="btn btn-warning" onclick="javascript:update()"> <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>修改 </button> <button type="button" class="btn btn-info" onclick="javascript:sava()" id="sava"> <span class=" glyphicon glyphicon-floppy-save" aria-hidden="true"></span>保存 </button> </div> </div> <div> <table class="table table-striped table-hover" id="reportTable"></table> </div> </body> </html> ``` 问题:直接看效果图 ![出数据时的照片图片说明](https://img-ask.csdn.net/upload/201711/05/1509852089_124769.png) ![点击添加时的图片说明](https://img-ask.csdn.net/upload/201711/05/1509852141_790874.png) ![在最后一页点击添加就可以了图片说明](https://img-ask.csdn.net/upload/201711/05/1509852171_550306.png) 就是个这个问题 就是不能再第一页添加直接会覆盖最后一天数据
bootstrap-Table后台已返回json数据,前台不显示
//先销毁表格 $table.bootstrapTable('destroy'); //再初始化表格 $table.bootstrapTable({ //请求地址,此处数据为本地加载 url: path+"/Build/searchBuilding", //请求方式 method: "POST", //请求内容类型 contentType: "application/x-www-form-urlencoded", //数据类型 dataType: "json", //table高度:如果没有设置,表格自动根据记录条数觉得表格高度 //height: '582', //是否显示行间隔色 striped: true, //是否启用排序 sortable: true, //排序方式 sortOrder: "bid asc", //是否使用缓存 cache: false, //每行的唯一标识 uniqueId: "bid", //指定工具栏 toolbar: "#toolbar", //显示刷新按钮 showRefresh: true, //切换显示样式 showToggle: true, //默认显示详细视图 cardView: false, //是否显示搜索 search: false, //是否显示分页 pagination: true, //是否启用点击选中行 clickToSelect: false, //最少要显示的列数 minimumCountColumns: 2, //显示隐藏列 showColumns: true, //cell没有值时显示 undefinedText: '-', //分页方式:client客户端分页,server服务端分页 sidePagination: "server", //每页的记录行数 pageSize: 20, //初始化加载第1页,默认第1页 pageNumber: 1, //可供选择的每页的行数 pageList: "[10, 20, 50, 80, 100]", paginationFirstText: "首页", paginationPreText: "上一页", paginationNextText: "下一页", paginationLastText: "末页", //按钮样式 buttonsClass: 'btn', //分页器class iconSize: 'Page', //查询条件 queryParams: queryParams, //表头 columns: [{ field: 'bid',//id checkbox: true,//checkbox align: 'center',//对其方式 valign: 'middle'//对其方式 }, { title: '幢编号', field: 'building_id', align: 'center', valign: 'middle', }, { title: '幢名称', field: 'building_name', align: 'center', valign: 'middle' },{ title: '操作', field: 'operate', align: 'center', events: window.operateEvents, formatter: genderOpt//如需操作行数据,直接添加formatter对应函数名参数分别为value, row, index }], onLoadSuccess: function (res) {//可不写 //加载成功时 console.log(res); }, onLoadError: function (statusCode) { return "加载失败了"; }, formatLoadingMessage: function () { //正在加载 return "拼命加载中..."; }, formatNoMatches: function () { //没有匹配的结果 return '无符合条件的记录'; } }); json数据是{"rows":[{"bid":1,"building_id":"1","building_name":"1"},{"bid":2,"building_id":"2","building_name":"2"},{"bid":3,"building_id":"3","building_name":"3"}],"total":3}
bootstrap 获取不到行
``` <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Document</title> <script src="static/js/import.inc.js"></script> </head> <style type="text/css"> .table{ margin-top: 5px; } .button{ margin-top: 8px; margin-left: 10px; } </style> <script type="text/javascript"> $(function(){ //编辑表格 $('#reportTable').bootstrapTable({ //数据来源的网址 url:'/index.xhtml', method: 'post', editable:true,//开启编辑模式 clickToSelect: true, showPaginationSwitch:true, //显示分页切换按钮 search: true, //显示检索框 showRefresh: true, //显示刷新按钮 showToggle:true, //显示切换按钮来切换列表/卡片视图 pagination: true, pageList: [5,25], pageSize:5, pageNumber:1, columns: [[ {field:"id",edit:false,title:"编号",align:"center"}, {field:"user_company",edit:{ type:'select',//下拉框 //数据来源地址 //url:'user/getUser.htm', data:[{id:1,text:'lzx'},{id:2,text:'lsl'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } },title:"下拉框",align:"center",width:"200px"}, {field:"time",edit:{ type:'date',//日期 required:true, click:function(){ } },title:"时间",align:"center"}, {field:"name",title:"名字",align:"center"}, {field:"age",title:"年龄",align:"center"}, {field:"gender",title:"性别",align:"center",width:"200px",formatter:function(value,row,rowIndex){ if(value==1){ return '男'; }else if(value==2){ return '女'; } },edit:{ type:'select',//下拉框 //数据来源地址 data:[{id:1,text:'男'},{id:2,text:'女'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } }} // {field:"userstatus_end_time",title:"操作",align:"center",formatter:function(value,row,rowIndex){ // var strHtml ='<a href="javascript:void(0);" onclick="removeRow('+row+')">删除</a>'; // return strHtml; // },edit:false} ]] }); $('#addRowbtn').click(function(){ var data = {}; $('#reportTable').bootstrapTable('append',data); }); }); function removeRow(row){ console.log(row); } function update(){ var row = $('#reportTable').bootstrapTable('getSelections') console.log(row) location.href="delete.action?uid="+row.uid var row = $('#dg').datagrid('reload'); } function sava(){ var row = $('#reportTable').bootstrapTable('getSelections'); if(row.length==1){ console.log(a[0].id); }else{alert("请选中一行")} } </script> <body> <div id="myTabContent" class="tab-content" style=""> <!--可编辑表格--> <div class="tab-pane fade in active button" id="tab2"> <button type="button" class="btn btn-success dropdown-toggle" id="addRowbtn"> <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>增加 </button> <button type="button" class="btn btn-warning" onclick="javascript:update()"> <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>修改 </button> <button type="button" class="btn btn-info" onclick="javascript:sava()"> <span class=" glyphicon glyphicon-floppy-save" aria-hidden="true"></span>保存 </button> </div> </div> <div> <table class="table table-striped table-hover" id="reportTable"></table> </div> </body> </html> ``` 点击保存时打印了一下为undefined 不知道为啥
bootstrap getSelections 方法获取不到值
``` <script type="text/javascript"> $(function(){ //编辑表格 $('#table').bootstrapTable({ //数据来源的网址 url:'/index.xhtml', method: 'post', editable:true,//开启编辑模式 clickToSelect: true, showPaginationSwitch:true, //显示分页切换按钮 search: true, //显示检索框 showRefresh: true, //显示刷新按钮 showToggle:true, //显示切换按钮来切换列表/卡片视图 pagination: true, pageList: [5,25], pageSize:5, columns: [[ {field:"id",edit:false,title:"编号",align:"center"}, {field:"user_company",edit:{ type:'select', //数据来源地址 //url:'user/getUser.htm', data:[{id:1,text:'lzx'},{id:2,text:'lsl'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } },title:"下拉框",align:"center",width:"200px"}, {field:"time",edit:{ type:'date',//日期 required:true, click:function(){ } },title:"时间",align:"center"}, {field:"name",title:"名字",align:"center"}, {field:"age",title:"年龄",align:"center"}, {field:"gender",title:"性别",align:"center",width:"200px",formatter:function(value,row,rowIndex){ if(value==1){ return '男'; }else if(value==2){ return '女'; } },edit:{ type:'select',//下拉框 //数据来源地址 data:[{id:1,text:'男'},{id:2,text:'女'}], valueField:'id', textField:'text', onSelect:function(val,rec){ console.log(val,rec); } }} ]], onDblClickRow: function (row) { console.log(row.name) } }); $('#addRowbtn').click(function(){ var data = {}; $('#table').bootstrapTable('prepend',data); }); }); function removeRow(row){ console.log(row); } function update(){ var row = $('#table').bootstrapTable('getSelections') console.log(row) location.href="delete.action?uid="+row.uid var row = $('#dg').datagrid('reload'); } function sava(){ var row = $('#table').bootstrapTable("getSelections"); if(row.length==0){ alert("请选择一行"); }else{ console.log(row); } } </script> <body> <div id="myTabContent" class="tab-content"> <!--可编辑表格--> <div class="tab-pane fade in active button" id="tab2"> <button type="button" class="btn btn-success dropdown-toggle" id="addRowbtn"> <span class="glyphicon glyphicon glyphicon-plus" aria-hidden="true"></span>增加 </button> <button type="button" class="btn btn-warning" onclick="javascript:update()"> <span class="glyphicon glyphicon-edit" aria-hidden="true"></span>修改 </button> <button type="button" class="btn btn-info" onclick="javascript:sava()" id="sava"> <span class=" glyphicon glyphicon-floppy-save" aria-hidden="true"></span>保存 </button> </div> </div> <div> <table class="table table-striped table-hover" id="table"></table> </div> </body> </html> ``` 获取不到值 一直是undefined 很无奈
bootstrap datatables加载不出数据
``` $(document).ready(function () { var tables = $('#notice_table').DataTable({ "oLanguage": { //表格的语言设置 "sProcessing": "正在获取数据,请稍后...", "sLengthMenu": "显示 _MENU_ 条", "sZeroRecords": "没有您要搜索的内容", "sInfo": "从 _START_ 到 _END_ 条记录 总记录数为 _TOTAL_ 条", "sInfoEmpty": "记录数为0", "sInfoFiltered": "(全部记录数 _MAX_ 条)", "sInfoPostFix": "", "sSearch": "搜索", "sUrl": "", "oPaginate": { "sFirst": "第一页", "sPrevious": "上一页", "sNext": "下一页", "sLast": "最后一页" }, "bProcessing": true, //DataTables载入数据时显示‘进度’提示 // "serverSide": true, "autoWidth": false, //"sScrollY" : 350, //DataTables的高 "sPaginationType": "full_numbers", //详细分页组,可以支持直接跳转到某页 "iDisplayStart": 0,//刷新插件后显示的第几页(如果一页为10条数据,填10就显示第二页) "ajax": { "url": "/publish/json.do?publishTypeId=" + publishTypeId }, "columns": [//定义接受到的数据 { "data": "publishPerson" } ], 'bStateSave': true,//刷新页面让页面停留在之前的页码 "columnDefs": [{ "targets": 6,//编辑 "data": null,//添加编辑按钮和,删除按钮 "defaultContent": "<button id='editrow' class='btn btn-primary' type='button' style='margin-right:10px;'>编辑</button><button id='delrow' class='btn btn-primary' type='button'>删除</button>" }], "createdRow": function (row, data, index) { //每加载完一行的回调函数 $('td', row).eq(5).css('font-weight', "bold").css("color", "red");//获取到具体行具体格的元素 } } }) ``` json:![图片说明](https://img-ask.csdn.net/upload/201610/20/1476961850_893527.png) 加载不出数据,可加分
各位大佬,关于PHP转换json之后,js接收报错,求解!
我的测试代码,在自己电脑上运行是运行的 ``` <?php // header("content-type:text/html;charset=utf-8"); // header("Access-Control-Allow-Origin:*"); // header('Access-Control-Allow-Methods:POST'); // header('Access-Control-Allow-Headers:x-requested-with, content-type'); // header("Content-Security-Policy: upgrade-insecure-requests"); require_once(dirname(__FILE__) . './db-test/config.php'); header("Content-type: text/html; charset=utf-8"); error_reporting(0); //创建数据库连接 $mysqli = new Mysqli($dbhost, $dbuser, $dbpass, $dbname); if ($mysqli->connect_error) { die('connect error:' . $mysqli->connect_errno); } $method = !empty($_REQUEST['method']) ? trim($_REQUEST['method']) : ''; //获取时间 if ($method == "query") { $begin_time = $_GET['begin_time']; $begin = $begin_time; $finish_time = $_GET['finish_time']; $finish = $finish_time; //转换为时间戳 $begin_time = strtotime($begin_time); $finish_time = strtotime($finish_time); $selected = $_GET['selected']; //选择的 if ($selected=="jiaye"){ $sql = "SELECT * FROM wx_user where source <>'yunfeng' AND (subscribe_time>('$begin_time')) and subscribe_time<'$finish_time' ;"; }else{ $sql = "SELECT * FROM wx_user where source='yunfeng' AND (subscribe_time>('$begin_time')) and subscribe_time<'$finish_time';"; } $result = $mysqli->query($sql); $results = array(); while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $results[] = $row; } $arr = json_encode($results,JSON_UNESCAPED_UNICODE); //echo($arr); } else { //默认筛选 //上个月的时间戳 $last_month = strtotime(date('Y-m-01 00:00:00',strtotime('-1 month'))); //获取今日开始时间戳和结束时间戳 $endToday=mktime(0,0,0,date('m'),date('d')+1,date('Y'))-1; $result = $mysqli->query("select * from wx_user where source='yunfeng' AND (subscribe_time>('$last_month')) and subscribe_time<'$endToday' "); $results = array(); while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { $results[] = $row; } $arr = json_encode($results,JSON_UNESCAPED_UNICODE); } ?> <html> <head> <!-- 设置HTML5编码--> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <!-- 设置HTML5编码--> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <!-- <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests"/> --> <title>用户关注数据</title> <!-- 最新版本的 Bootstrap 核心 CSS 文件 --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <link href="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/css/bootstrap-datetimepicker.min.css" rel="stylesheet"> <link href="//cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.css" rel="stylesheet"> <script src="http://libs.baidu.com/jquery/2.1.1/jquery.min.js"></script> <script src="https://unpkg.com/tableexport.jquery.plugin/tableExport.min.js"></script> <script src="https://cdn.staticfile.org/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script> <script src="https://cdn.bootcss.com/moment.js/2.18.1/moment-with-locales.min.js"></script> <script src="https://cdn.bootcss.com/bootstrap-datetimepicker/4.17.47/js/bootstrap-datetimepicker.min.js"></script> <script src="//cdn.bootcss.com/bootstrap-table/1.11.1/bootstrap-table.js"></script> <script src="//cdn.bootcss.com/bootstrap-table/1.11.1/locale/bootstrap-table-zh-CN.js"></script> <style> .Connection { display: inline-block; position: relative; margin: 0 5px 0 0; } </style> </head> <body> <h2 class="text-center"> <?php $selected = $_GET['selected']; if ($selected=="jiaye"){ echo "嘉业关注用户"; }else{ echo "云蜂关注用户"; } ?> </h2> <div class="Connection"> <div class="cell-left"> </div> </div> <div class="Connection"> <div class="cell-left"> <div class="form-group"> <select class="form-control" id="selected"> <option value="yunfeng">云蜂</option> <option <?php $selected = $_GET['selected']; if($selected==='jiaye'){ echo 'selected';}?> value="jiaye" >嘉业</option> </select> </div> 请选择起始日期: <input type='text' class="form-control" id='datetime1' style="width:200px; placeholder=" value="<?php echo $begin; ?>"""/> </div>       </div> <div class="Connection"> <div class="cell-left"> 请选择结束日期: <input type='text' class="form-control" id='datetime2' style="width:200px; placeholder=" value="<?php echo $finish; ?>"""/> </div>    </div> <div class="Connection"> <div class="cell-left"> <button class="btn btn-default" onclick="GetTime()">提交</button>    </div>   </div> <div class="Connection"> <div class="cell-left">     <button class="addBtn btn btn-default" id="exportTable"> 导出当前表格数据 </button>     </div>     </div> <script> function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); } $(function () { $("#datetime1").datetimepicker({ format: 'YYYY-MM-DD ', locale: moment.locale('zh-cn') }); $("#datetime2").datetimepicker({ format: 'YYYY-MM-DD ', locale: moment.locale('zh-cn') }); }); var new_data = ""; function GetTime() { var selected= $("#selected").val(); var a = $(" #datetime1").val(); var b = $(" #datetime2").val(); var a= trim(a); var b= trim(b); // alert("第一个输入框" + a) //alert("第二个输入框" + b) location.href = "admin_weixin_subscribe_yunfeng.php?method=query&selected="+selected+"&begin_time=" + a + "&finish_time=" + b; } </script> <div class="table-responsive"> <table id="mytab" class="table table-striped table-bordered"> </table> </div> <script type="text/javascript"> var arr =<?php echo $arr;?>; $(function () { $('#mytab').bootstrapTable({ data: arr, dataType: 'json', queryParams: "queryParams", showColumns: true, //测试 新加 //showRefresh: true, //是否显示刷新按钮 toolbar: "#toolbar", //工具按钮用哪个容器 // editable:true; editable: true, clickEdit: true, showExport: true, sidePagination: "true", //分页方式:client客户端分页,server服务端分页(*) //striped: true, // 是否显示行间隔色 search: true, method: 'GET', //请求方式(*) //search : "true", //是否显示表格搜索 uniqueId: "ID", //每一行的唯一标识,一般为主键列 pageSize: "20", pageList: [10, 25, 50, 100, 'All'], //可供选择的每页的行数(*) pagination: true, // 是否分页 sortable: true, // 是否启用排序 clickToSelect: true, //是否启用点击选中行 columns: [ [{ "title": "<?php $selected = $_GET['selected']; if ($selected=="jiaye"){ echo "嘉业关注用户"; }else{ echo "云蜂关注用户"; } ?>", "halign": "center", "align": "center", //合体了5个列 "colspan": 13 } ], [{ field: 'openid', title: 'openid', sortable: true }, { field: 'nickname', title: '用户昵称', sortable: true, }, { field: 'userid', title: '序号', sortable: true, }, { field: 'subscribe_time', title: '时间戳', sortable: true, }, { title: '最后关注时间',//标题 可不加 edit: false, sortable: true, formatter: function (value, row, index) { return new Date(parseInt(row.subscribe_time) * 1000).toLocaleString().replace(/:\d{1,2}$/, ' '); } }, { field: 'sex', title: '性别', sortable: true, }, { field: 'language', title: '国别', sortable: true, }, { field: 'city', title: '所在国家', sortable: true, }, { field: 'province', title: '所在省份', sortable: true, }, { field: 'country', title: '所在城市', sortable: true, }, { field: 'mark', title: '备注', sortable: true, }, { field: 'subscribe_scene', title: '添加渠道', sortable: true, }, ] ] }); $("#exportTable").click(function () { //导出 $("#mytab").tableExport({ type: "excel", escape: "false", fileName: 'XX-XX关注信息' }); }); }); </script> </body> </html> ``` 运行结果:![图片说明](https://img-ask.csdn.net/upload/201907/08/1562576383_105519.jpg) 然后把代码放到公司服务器上,就报错![图片说明](https://img-ask.csdn.net/upload/201907/08/1562576482_194553.jpg) 非常非常奇怪、,,我看了数据库格式都是UTF-8 就是 script 那里不能把php解析的json给js 变量。。 求大佬帮助!!!!!! 为什么啊,我测试的时候都能 print出 json对象啊 header也加了 我觉得逻辑完全没问题啊啊啊啊
bootstrapTable显示混乱
使用bootstrapTable时,发生了按钮和文字显示混乱的问题。![图片说明](https://img-ask.csdn.net/upload/201812/25/1545706948_270165.png) 在Chrome环境运行,console上没有任何问题。 html页面如下 ``` <div id="toolbar" class="btn-group" style="margin-top:15px"> <button id="btn_add" type="button" class="btn btn-default"> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span>新增 </button> <button id="btn_edit" type="button" class="btn btn-default"> <span class="glyphicon glyphicon-pencil" aria-hidden="true"></span>修改 </button> <button id="btn_delete" type="button" class="btn btn-default"> <span class="glyphicon glyphicon-remove" aria-hidden="true"></span>删除 </button> </div> <div><table id="data-table"></table></div> ``` js页面如下 ``` $('#data-table').bootstrapTable({ toolbar:"#toolbar", striped: true, //是否显示行间隔色 cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*) pagination: true, //是否显示分页(*) sortable: false, //是否启用排序 sortOrder: "asc", //排序方式 sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*) pageNumber:1, //初始化加载第一页,默认第一页 pageSize: 10, //每页的记录行数(*) pageList: [10, 25, 50, 100], //可供选择的每页的行数(*) search: true, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大 strictSearch: true, showColumns: true, //是否显示所有的列 showRefresh: true, //是否显示刷新按钮 minimumCountColumns: 1, //最少允许的列数 clickToSelect: true, //是否启用点击选中行 height: 500, //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度 uniqueId: "ID", //每一行的唯一标识,一般为主键列 showToggle:true, //是否显示详细视图和列表视图的切换按钮 cardView: false, //是否显示详细视图 detailView: false, //是否显示父子表 columns: [{ checkbox: true },{ field: 'id', title: 'Item ID' }, { field: 'name', title: 'Item Name' }, { field: 'price', title: 'Item Price' }], data: [{ id: 1, name: 'Item 1', price: '$1' }, { id: 2, name: 'Item 2', price: '$2' }] }); ```
简单的jQuery分页插件封装怎么进行?
在学习jQuery插件封装,依葫芦画瓢封装了一个简单的表格和分页,页面能初始化生成表格和分页,但生成后怎么能让分页插件执行分页和表格刷新工作就不晓得怎么继续了,希望熟悉jQuery插件开发的人能帮忙补齐一下。 预期的用法是,给插件传入一个后台的请求路径“"http://127.0.0.1:8080/account/findListForPage"”,通过路径返回一个分页json对象(当前页、总页、页面表格数据),通过解析json生成表格和分页部分: [code="js"] function reloadTable(code){ $("#acTableGrid").grid({ //content:$(".widget-body"), type: "POST", url:"${ctx}/account/findListForPage", column:[{"id":"编号","state":"状态","type":"类型","phone":"电话"}], page:true, param:{"pageCode":code}, }) } [/code] [code="js"] (function($) { // plugin definition var GridTable = function(ele, options) { this.$element = ele, this.defaults = { page : false, type : "GET", url : undefined, param : undefined, pageData : undefined }, this.opts = $.extend({}, this.defaults, options) if(this.opts.url!=undefined&&this.opts.url!=""){ var dataObject = $.ajax({ async: false, type : this.opts.type, url : this.opts.url, data : this.opts.param, success : function(data) { return data } }); } this.opts.pageData = dataObject.responseJSON; } GridTable.prototype = { buildBody : function() { this.$element.empty(); this.$element.addClass("table table-striped table-bordered table-hover"); if (this.opts.column.length > 0) { var thead = $("<thead>"); var tr = $("<tr>").appendTo(thead); $.each(this.opts.column[0], function(name, value) { tr.append("<th>" + value + "</th>"); }); this.$element.append(thead) } var record = this.opts.pageData.data; if (record != undefined && record.length > 0) { var tbody = $("<tbody>"); for (i = 0; i < record.length; i++) { columnData = record[i]; var tr = $("<tr>"); $.each(this.opts.column[0], function(name, value) { tr.append("<td>" + columnData[name] + "</td>"); }); tbody.append(tr); } return this.$element.append(tbody) } }, buildPagin: function(){ var pageData = this.opts.pageData; if (this.opts.page) { var page = '<div class="dt-row dt-bottom-row">'; page = page + ' <input type="hidden" id="url" name="url" value="' + this.opts.url + '">'; page = page + ' <input type="hidden" id="pageSize" name="pageSize" value="' + pageData.pageSize + '">'; page = page + ' <input type="hidden" id="pageCode" name="pageCode" value="' + pageData.pageCode + '">'; page = page + ' <input type="hidden" id="totalPageNum" name="totalPageNum" value="' + pageData.totalPageNum + '">'; page = page + ' <div class="row">'; page = page + ' <div class="col-sm-6">'; page = page + ' <div class="dataTables_info" id="dt_basic_info">第' + pageData.pageCode + '/' + pageData.totalPageNum + '页 共' + pageData.totalRecords + '条记录</div>'; page = page + ' </div>'; page = page + ' <div class="col-sm-6 text-right">'; page = page + ' <div class="dataTables_paginate paging_bootstrap_full">'; page = page + ' <ul class="pagination">'; page = page + ' <li class="first"><a href="javascript:void(0)">首页</a></li>'; page = page + ' <li class="prev"><a href="javascript:void(0)">上一页</a></li>'; page = page + ' <li class="next"><a href="javascript:void(0)">下一页</a></li>'; page = page + ' <li class="last"><a href="javascript:void(0)">末尾页</a></li>'; page = page + ' </ul>'; page = page + ' </div>'; page = page + ' </div>'; page = page + ' </div>'; page = page + ' </div>'; this.$element.after(page); }, } $.fn.grid = function(options) { var grid = new GridTable(this, options); grid.buildBody(); grid.buildPagin(); return grid; }; })(jQuery); [/code] 生成的HTML结构如下: [code="html"] //表格数据部分 <table id="acTableGrid" class="table table-striped table-bordered table-hover"><thead><tr><th>编号</th><th>状态</th><th>类型</th><th>电话</th><th>账号</th><th>注册时间</th><th>Email</th></tr></thead><tbody><tr><td>464690392101687300</td><td>null</td><td>0</td><td>null</td><td>15828245173</td><td>1399625797000</td><td>null</td></tr><tr><td>465404813799198700</td><td>null</td><td>0</td><td>null</td><td>313057544@qq.com</td><td>1399796129000</td><td>null</td></tr><tr><td>465442761785610240</td><td>null</td><td>0</td><td>null</td><td>15828245273</td><td>1399805176000</td><td>null</td></tr></tbody></table> //分页部分 <div class="dt-row dt-bottom-row"> <input type="hidden" id="url" name="url" value="/kmp/account/findListForPage"> <input type="hidden" id="pageSize" name="pageSize" value="3"> <input type="hidden" id="pageCode" name="pageCode" value="1"> <input type="hidden" id="totalPageNum" name="totalPageNum" value="3"> <div class="row"> <div class="col-sm-6"> <div class="dataTables_info" id="dt_basic_info">第1/3页 共7条记录</div> </div> <div class="col-sm-6 text-right"> <div class="dataTables_paginate paging_bootstrap_full"> <ul class="pagination"> <li class="first"><a href="javascript:void(0)">首页</a></li> <li class="prev"><a href="javascript:void(0)">上一页</a></li> <li class="next"><a href="javascript:void(0)">下一页</a></li> <li class="last"><a href="javascript:void(0)">末尾页</a></li> </ul> </div> </div> </div> </div> [/code]
终于明白阿里百度这样的大公司,为什么面试经常拿ThreadLocal考验求职者了
点击上面↑「爱开发」关注我们每晚10点,捕获技术思考和创业资源洞察什么是ThreadLocalThreadLocal是一个本地线程副本变量工具类,各个线程都拥有一份线程私...
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
将代码部署服务器,每日早上定时获取到天气数据,并发送到邮箱。 也可以说是一个小人工智障。 思路可以运用在不同地方,主要介绍的是思路。
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1...
阿里面试官问我:如何设计秒杀系统?我的回答让他比起大拇指
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图和个人联系方式,欢迎Star和指教 前言 Redis在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在Redis的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸,打败了...
C语言魔塔游戏
很早就很想写这个,今天终于写完了。 游戏截图: 编译环境: VS2017 游戏需要一些图片,如果有想要的或者对游戏有什么看法的可以加我的QQ 2985486630 讨论,如果暂时没有回应,可以在博客下方留言,到时候我会看到。 下面我来介绍一下游戏的主要功能和实现方式 首先是玩家的定义,使用结构体,这个名字是可以自己改变的 struct gamerole { char n...
面试官问我:什么是消息队列?什么场景需要他?用了会出现什么问题?
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Android性能优化(4):UI渲染机制以及优化
文章目录1. 渲染机制分析1.1 渲染机制1.2 卡顿现象1.3 内存抖动2. 渲染优化方式2.1 过度绘制优化2.1.1 Show GPU overdraw2.1.2 Profile GPU Rendering2.2 卡顿优化2.2.1 SysTrace2.2.2 TraceView 在从Android 6.0源码的角度剖析View的绘制原理一文中,我们了解到View的绘制流程有三个步骤,即m...
微服务中的Kafka与Micronaut
今天,我们将通过Apache Kafka主题构建一些彼此异步通信的微服务。我们使用Micronaut框架,它为与Kafka集成提供专门的库。让我们简要介绍一下示例系统的体系结构。我们有四个微型服务:订单服务,行程服务,司机服务和乘客服务。这些应用程序的实现非常简单。它们都有内存存储,并连接到同一个Kafka实例。 我们系统的主要目标是为客户安排行程。订单服务应用程序还充当网关。它接收来自客户的请求...
致 Python 初学者们!
作者| 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今...
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
程序员一般通过什么途径接私活?
二哥,你好,我想知道一般程序猿都如何接私活,我也想接,能告诉我一些方法吗? 上面是一个读者“烦不烦”问我的一个问题。其实不止是“烦不烦”,还有很多读者问过我类似这样的问题。 我接的私活不算多,挣到的钱也没有多少,加起来不到 20W。说实话,这个数目说出来我是有点心虚的,毕竟太少了,大家轻喷。但我想,恰好配得上“一般程序员”这个称号啊。毕竟苍蝇再小也是肉,我也算是有经验的人了。 唾弃接私活、做外...
字节跳动面试官这样问消息队列:分布式事务、重复消费、顺序消费,我整理了一下
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式和人才交流群,欢迎Star和完善 前言 消息队列在互联网技术存储方面使用如此广泛,几乎所有的后端技术面试官都要在消息队列的使用和原理方面对小伙伴们进行360°的刁难。 作为一个在互联网公司面一次拿一次Offer的面霸...
Python爬虫爬取淘宝,京东商品信息
小编是一个理科生,不善长说一些废话。简单介绍下原理然后直接上代码。 使用的工具(Python+pycharm2019.3+selenium+xpath+chromedriver)其中要使用pycharm也可以私聊我selenium是一个框架可以通过pip下载 pip installselenium -ihttps://pypi.tuna.tsinghua.edu.cn/simple/ ...
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
SpringBoot2.x系列教程(三十六)SpringBoot之Tomcat配置
Spring Boot默认内嵌的Tomcat为Servlet容器,关于Tomcat的所有属性都在ServerProperties配置类中。同时,也可以实现一些接口来自定义内嵌Servlet容器和内嵌Tomcat等的配置。 关于此配置,网络上有大量的资料,但都是基于SpringBoot1.5.x版本,并不适合当前最新版本。本文将带大家了解一下最新版本的使用。 ServerProperties的部分源...
Python绘图,圣诞树,花,爱心 | Turtle篇
每周每日,分享Python实战代码,入门资料,进阶资料,基础语法,爬虫,数据分析,web网站,机器学习,深度学习等等。 公众号回复【进群】沟通交流吧,QQ扫码进群学习吧 微信群 QQ群 1.画圣诞树 import turtle screen = turtle.Screen() screen.setup(800,600) circle = turtle.Turtle()...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
听说想当黑客的都玩过这个Monyer游戏(1~14攻略)
第零关 进入传送门开始第0关(游戏链接) 请点击链接进入第1关: 连接在左边→ ←连接在右边 看不到啊。。。。(只能看到一堆大佬做完的留名,也能看到菜鸡的我,在后面~~) 直接fn+f12吧 &lt;span&gt;连接在左边→&lt;/span&gt; &lt;a href="first.php"&gt;&lt;/a&gt; &lt;span&gt;←连接在右边&lt;/span&gt; o...
在家远程办公效率低?那你一定要收好这个「在家办公」神器!
相信大家都已经收到国务院延长春节假期的消息,接下来,在家远程办公可能将会持续一段时间。 但是问题来了。远程办公不是人在电脑前就当坐班了,相反,对于沟通效率,文件协作,以及信息安全都有着极高的要求。有着非常多的挑战,比如: 1在异地互相不见面的会议上,如何提高沟通效率? 2文件之间的来往反馈如何做到及时性?如何保证信息安全? 3如何规划安排每天工作,以及如何进行成果验收? ...... ...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!...
这个世界上人真的分三六九等,你信吗?
偶然间,在知乎上看到一个问题 一时间,勾起了我深深的回忆。 以前在厂里打过两次工,做过家教,干过辅导班,做过中介。零下几度的晚上,贴过广告,满脸、满手地长冻疮。 再回首那段岁月,虽然苦,但让我学会了坚持和忍耐。让我明白了,在这个世界上,无论环境多么的恶劣,只要心存希望,星星之火,亦可燎原。 下文是原回答,希望能对你能有所启发。 如果我说,这个世界上人真的分三六九等,...
2020年全新Java学习路线图,含配套视频,学完即为中级Java程序员!!
新的一年来临,突如其来的疫情打破了平静的生活! 在家的你是否很无聊,如果无聊就来学习吧! 世上只有一种投资只赚不赔,那就是学习!!! 传智播客于2020年升级了Java学习线路图,硬核升级,免费放送! 学完你就是中级程序员,能更快一步找到工作! 一、Java基础 JavaSE基础是Java中级程序员的起点,是帮助你从小白到懂得编程的必经之路。 在Java基础板块中有6个子模块的学...
B 站上有哪些很好的学习资源?
哇说起B站,在小九眼里就是宝藏般的存在,放年假宅在家时一天刷6、7个小时不在话下,更别提今年的跨年晚会,我简直是跪着看完的!! 最早大家聚在在B站是为了追番,再后来我在上面刷欧美新歌和漂亮小姐姐的舞蹈视频,最近两年我和周围的朋友们已经把B站当作学习教室了,而且学习成本还免费,真是个励志的好平台ヽ(.◕ฺˇд ˇ◕ฺ;)ノ 下面我们就来盘点一下B站上优质的学习资源: 综合类 Oeasy: 综合...
爬取薅羊毛网站百度云资源
这是疫情期间无聊做的爬虫, 去获取暂时用不上的教程 import threading import time import pandas as pd import requests import re from threading import Thread, Lock # import urllib.request as request # req=urllib.request.Requ...
如何优雅地打印一个Java对象?
你好呀,我是沉默王二,一个和黄家驹一样身高,和刘德华一样颜值的程序员。虽然已经写了十多年的 Java 代码,但仍然觉得自己是个菜鸟(请允许我惭愧一下)。 在一个月黑风高的夜晚,我思前想后,觉得再也不能这么蹉跎下去了。于是痛下决心,准备通过输出的方式倒逼输入,以此来修炼自己的内功,从而进阶成为一名真正意义上的大神。与此同时,希望这些文章能够帮助到更多的读者,让大家在学习的路上不再寂寞、空虚和冷。 ...
雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播。在视频业务大数据平台中,播放数据的统计分析非常重要,所以Web播放器在使用过程中,需要对其内部的数据进行收集并上报至服务端,此时,就需要对发生在其内部的一些播放行为进行事件监听。 那么Web播放器事件监听是怎么实现的呢? 01 监听事件明细表 名...
3万字总结,Mysql优化之精髓
本文知识点较多,篇幅较长,请耐心学习 MySQL已经成为时下关系型数据库产品的中坚力量,备受互联网大厂的青睐,出门面试想进BAT,想拿高工资,不会点MySQL优化知识,拿offer的成功率会大大下降。 为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计...
HTML5适合的情人节礼物有纪念日期功能
前言 利用HTML5,css,js实现爱心树 以及 纪念日期的功能 网页有播放音乐功能 以及打字倾诉感情的画面,非常适合情人节送给女朋友 具体的HTML代码 具体只要修改代码里面的男某某和女某某 文字段也可自行修改,还有代码下半部分的JS代码需要修改一下起始日期 注意月份为0~11月 也就是月份需要减一。 当然只有一部分HTML和JS代码不够运行的,文章最下面还附加了完整代码的下载地址 &lt;!...
Python新型冠状病毒疫情数据自动爬取+统计+发送报告+数据屏幕(三)发送篇
今天介绍的项目是使用 Itchat 发送统计报告 项目功能设计: 定时爬取疫情数据存入Mysql 进行数据分析制作疫情报告 使用itchat给亲人朋友发送分析报告 基于Django做数据屏幕 使用Tableau做数据分析 来看看最终效果 目前已经完成,预计2月12日前更新 使用 itchat 发送数据统计报告 itchat 是一个基于 web微信的一个框架,但微信官方并不允许使用这...
python沙箱逃逸
沙箱逃逸是CTF和实际场景中经常遇到的一种情况。需要利用python的特性来实现逃逸。本文详细介绍了关于python逃逸的基础以及一些构造payload方法,并且附加习题提供练习。
作为程序员的我,大学四年一直自学,全靠这些实用工具和学习网站!
我本人因为高中沉迷于爱情,导致学业荒废,后来高考,毫无疑问进入了一所普普通通的大学,实在惭愧???? 我又是那么好强,现在学历不行,没办法改变的事情了,所以,进入大学开始,我就下定决心,一定要让自己掌握更多的技能,尤其选择了计算机这个行业,一定要多学习技术。 在进入大学学习不久后,我就认清了一个现实:我这个大学的整体教学质量和学习风气,真的一言难尽,懂的人自然知道怎么回事? 怎么办?我该如何更好的提升自...
新来个技术总监,禁止我们使用Lombok!
我有个学弟,在一家小型互联网公司做Java后端开发,最近他们公司新来了一个技术总监,这位技术总监对技术细节很看重,一来公司之后就推出了很多"政策",比如定义了很多开发规范、日志规范、甚至是要求大家统一使用某一款IDE。 但是这些都不是我这个学弟和我吐槽的点,他真正和我吐槽的是,他很不能理解,这位新来的技术总监竟然禁止公司内部所有开发使用Lombok。但是又没给出十分明确的,可以让人信服的理由。 于...
教你如何编写第一个简单的爬虫
很多人知道爬虫,也很想利用爬虫去爬取自己想要的数据,那么爬虫到底怎么用呢?今天就教大家编写一个简单的爬虫。 下面以爬取笔者的个人博客网站为例获取第一篇文章的标题名称,教大家学会一个简单的爬虫。 第一步:获取页面 #!/usr/bin/python # coding: utf-8 import requests #引入包requests link = "http://www.santostang....
前端JS初级面试题二 (。•ˇ‸ˇ•。)老铁们!快来瞧瞧自己都会了么
1. 传统事件绑定和符合W3C标准的事件绑定有什么区别? 传统事件绑定 &lt;div onclick=""&gt;123&lt;/div&gt; div1.onclick = function(){}; &lt;button onmouseover=""&gt;&lt;/button&gt; 注意: 如果给同一个元素绑定了两次或多次相同类型的事件,那么后面的绑定会覆盖前面的绑定 (不支持DOM事...
情人节到了,适合程序员表白的情话【保你脱单】
谁说我们程序员不浪漫,这些情话只有程序员能看懂
MySQL explain命令详解
使用explain + sql语句可以得到该条sql语句的执行计划,具体信息如下 下面将依次介绍每个字段的含义 id id表示在多表查询时,表的执行顺序,它是一组数字序列号,表示查询中执行select子句或操作表的顺序,其取值分为以下三种情况 1.id相同,表示表的执行顺序由上至下 上例中,表示该sql语句执行时对三张表的查询顺序是先查询t1,再查询t3,最后查询t3 2....
利用python进行新型肺炎历史数据下载,时间从1月24日开始至今,分省将数据下载到本地,保存为csv
鉴于之前,实时获取丁香医生上的肺炎数据的工作,可以参照我的博客:肺炎数据下载,大家对于历史数据获取比较关心,的确如此,好在有网友先见之明,在数据公布开始,就进行了历史数据的爬取与存储,从而对历史数据的下载成为可能,这里特别感谢知乎用户:李二蛋。 工具下载地址: 链接:https://pan.baidu.com/s/1UN6NES4Y92zbqUMKtPT4ew 提取码:o2c8 爬取的效果如...
相关热词 c#导入fbx c#中屏蔽键盘某个键 c#正态概率密度 c#和数据库登陆界面设计 c# 高斯消去法 c# codedom c#读取cad文件文本 c# 控制全局鼠标移动 c# temp 目录 bytes初始化 c#
立即提问