我尝试利用ajax向后端传递搜索的参数,后端得到的search参数始终为空值
具体js代码如下
const table = $('#weatherTable').DataTable({
bFilter: false,
"processing": true,
serverSide: true,
ajax: {
url: "",
type: "post",
data: function (data) {
return JSON.stringify(data);
}
}
});
$("#searchLocation").on('keyup',function () {
var location = this.value;
table.search(location).draw();
});
我后端每次在输入框输入值都有一条ajax请求过去,但是不管输入什么值,search参数的值始终为空,不知道为什么。
注意这个value始终为空值
ji'qiu
要看看你的 datatable 传递的写法是什么,一般通过 post 请求的话,需要指定特定的属性,否则直接将参数加在 URL 后面用 get 方法传递。
datatables post 传递参数的方法:
return $("#"+tableId).DataTable({
"dom": 'lrtip',
"searching": false,
"paging": true,
"processing": true,
"serverSide":true,
"sAjaxSource": CPATH+url,
"ajax":{//ajax自定义的请求参数
data:data
},
后面。。。。
在 return JSON.stringify(data); 前面加个debugger 看看data 里面value有没有值没有就 在全局搞个变量把this.value赋给全局变量
再return JSON.stringify(data);前面赋值