我是数据表新手。 我有一个问题,当我开始将一个单词放入表格的“搜索字段”时,会显示“处理”加载标签。 我在表中使用 ajax 加载数据。 那么 - 我必须做什么才能在我的表格中进行搜索? 我想我必须设置一个 ajax 调用,不是吗?
坦克来帮助我:)
代码如下:
var table;
$(function(){
var table = $('#datatables').DataTable({
"dom": 'TC<"clear">Rlfrtip',
"processing": true,
"serverSide": true,
"ajax": {
"url": "get_data",
"type": "GET"
},
...
这是我的 Serlet:
@SuppressWarnings("unchecked")
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String sql = "SELECT * FROM ordering";
int rows=0;
JSONArray arrayback = new JSONArray();
JSONObject object = new JSONObject();
PrintWriter out = response.getWriter();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/orders?user=***&password=****");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery(sql);
ResultSetMetaData meta = rs.getMetaData();
rows= meta.getColumnCount();
while(rs.next())
{
JSONArray array = new JSONArray();
array.add(rs.getString("id"));
array.add(rs.getString("employeName"));
array.add(rs.getString("employeAdresse"));
arrayback.add(array);
}
object.put("data", arrayback);
object.put("draw", 1);
object.put("recordsTotal", rows);
object.put("recordsFiltered", rows);
response.setContentType("application/json");
out.print(object);
....
我认为这是代码的主要部分。 我从 servlet 获取所有数据,这不是问题。 就在我想开始搜索某些内容时,我得到了“请等待/处理”标签,并且它保持不变 - 什么也没有发生。
最佳答案
检查一下: http://datatables.net/release-datatables/examples/server_side/server_side.html
这个“获取数据”ajax php 请求脚本实现了过滤/搜索功能;)
关于javascript - 我如何在数据表中搜索 - 使用 ajax/服务器端加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23108765/