jQuery数据表重新加载

时间:2015-12-14 17:04:10

标签: datatables

我正在使用jQuery datatable插件。我试图获取记录计数,并根据计数使用jQuery进行一些HTML操作。

到目前为止,我已经使用了这段代码

$('#tb').on('init.dt', function () {
        var totalRecords = table.page.info().recordsTotal;
        if(totalRecords != 0) {
            $('#tb_div').show();
            table.columns.adjust().draw();
        }else{
            $('#tb_div').hide();
            $('#no_rec_msg').show();
        }
    } );

但是这个init.dt只执行一次而且它不能用table.ajax.reload();任何可以解决这个问题的API方法吗?

1 个答案:

答案 0 :(得分:1)

使用xhr事件代替将在Ajax请求完成时触发。

JSONObject jsonObject = new JSONObject();
String encoded = Utility.encodeToBase64(bitmap);
jsonObject.put(AVATAR, encoded);

sendTo(MY_URL_ON_DB, jsonObject.toString());

public static String encodeToBase64(Bitmap bitmap) {
    ByteArrayOutputStream baos = new ByteArrayOutputStream();  
    bitmap.compress(Bitmap.CompressFormat.PNG, 50, baos);
    String encoded = Base64.encodeToString(baos.toByteArray(), Base64.DEFAULT);

    return encoded;
}


public static String sendTo(String url, String json) {
    String output = null;
    try {
        OkHttpClient httpClient = new OkHttpClient();
        RequestBody body = RequestBody.create(JSON, json);
        Request request = new Request.Builder().url(url).post(body).build();
        Response response = httpClient.newCall(request).execute();

        output = response.body().string();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return output;
}