Python 一句话 :
// An highlighted block
illegal = [i for i in badStr_global if i in test_value]
微信小程序 两个数组 对比去重:
// An highlighted block
var newdata;
var olddata ;
var del_url = olddata .filter(function (x) {
return newdata.indexOf(x)<0;
})
nginx 获取访问者IP:
location / {
proxy_pass http://127.0.0.1:*****;
proxy_set_header REMOTE_ADDR $remote_addr;
#proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
access_log off;
}
//web2.py
web.ctx.env['HTTP_REMOTE_ADDR']
bootstrapTable 服务端分页:
$(function () {//服务端搜索
"use strict";
$('#search-button').on('click',function(){
console.log('search-button')
$("#table_js").bootstrapTable('refreshOptions',{pageNumber:1,search_kw: $('#search-keyword').val(),}); // pageNumber:1, 指定页码为第1页
})
load();
});
function load(){
$('#table_js').bootstrapTable({
height: $(window).height()-160,
//上面不要动
url:"/*****/",
method:'GET',
contentType : 'application/x-www-form-urlencoded',
dataType: "json",
toolbar: '#toolbar',
showHeader:true,//设置为false以隐藏表头
showFooter:false,//设置为true以显示摘要页脚行(固定也交 比如显示总数什么的最合适)
showPaginationSwitch:false,//设置为true以显示分页组件的切换按钮
showFullscreen:false,// 设置为true以显示全屏按钮
showToggle:true,//是否显示详细视图和列表视图的切换按钮
striped: true, //是否显示行间隔色
cache: false, //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
pagination: true, //是否显示分页(*)
sortable: true, //是否启用排序
sortOrder: "asc", //排序方式
sidePagination: "server", //分页方式:client客户端分页,server服务端分页(*)
pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 20, //每页的记录行数(*)
pageList: [20,50,70,100,150], //可供选择的每页的行数(*)
//pageList: [10, 20, 40], //如果设置了分页,设置可供选择的页面数据条数。设置为All 则显示所有记录。
paginationPreText: '?',//指定分页条中上一页按钮的图标或文字,这里是<
paginationNextText: '?',//指定分页条中下一页按钮的图标或文字,这里是>
queryParamsType:"",
queryParams:queryParams,
search: false, //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
strictSearch: true,
showColumns: false, //是否显示所有的列 ///
showRefresh: false, //是否显示刷新按钮
minimumCountColumns: 2, //最少允许的列数
clickToSelect: false, //是否启用点击选中行
uniqueId: "id", //每一行的唯一标识,一般为主键列
cardView: false, //是否显示详细视图
detailView: false, //是否显示父子表
paginationFirstText: "首页",
paginationPreText: "上一页",
paginationNextText: "下一页",
paginationLastText: "末页",
columns: [
{
field: 'id',
title: 'id',
searchable: false
},
{
field: 'region',
title: '*****',
sortable:true
},
{
field: 'city_name',
title: '*****'
},
{
field: 'name',
title: '*****'
},
{
field: 'longitude',
title: '*****'
},
{
field: 'latitude',
title: '*****'
},
{
field: 'bg',
title: '*****'
},
{
field: 'line_name',
title: '*****'
}],
responseHandler: function (res) { //后台返回的结果
console.log(res);
var userInfo = res.rows;
var NewData = [];
var data = {
total: res.total,
rows: userInfo
};
return data;
},
onPageChange:function(){
console.log('onPageChange')
initSwitch()
}
});
/*服务端分页*/
function queryParams(params){
return {
"pageNum": params.pageNumber,
"pageSize": params.pageSize,
"limit":params.limit,//找多少条
"offset":params.offset,//从数据库第几条记录开始
"page":(params.offset/params.limit),
"id": $("#id").val(),
};
}
}
//web2.py 返回数据必须是rows分页数据、total总页数
#pageNum 页数
#pageSize 每页多少条
total_result = db_ele.query("SELECT count(id) as maxid FROM table")
total = total_result[0].maxid
sql_metro = "select * from table where id > $pageNum*$pageSize LIMIT $pageSize"#不限制,查询所有到后台
obj = db_ele.query(sql_metro,{'pageNum':int(pageNum)*int(pageSize),'pageSize':int(pageSize)})