社区首页 >问答首页 >jQuery DataTables在ESC打印后显示处理消息

jQuery DataTables在ESC打印后显示处理消息
EN

Stack Overflow用户
提问于 2016-06-30 01:56:17
回答 2查看 399关注 0票数 0

我似乎无法摆脱希望在打印函数期间按下ESC之后显示的处理消息。我用的是1.10.11。我不想完全删除该消息,我希望它在加载表时显示出来。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-10 04:13:22

我在dataTables.tableTools.js函数中修改了_fnPrintEnd文件如下:

代码语言:javascript
代码运行次数:0
复制
 var that = this;
    var oSetDT = this.s.dt;
    var tbl = this.s.dt.nTable.id;
    $("#" + tbl + "_processing").css("visibility", "hidden");
    var oSetPrint = this.s.print;
    var oDomPrint = this.dom.print;

添加了处理隐藏命令。

票数 0
EN

Stack Overflow用户

发布于 2016-06-30 07:39:31

处理过程..。当客户端等待对AJAX请求的服务器响应时,就会出现消息。当打开打印后(使用ESC键)时,服务器必须将数据重新发送到客户端。

DataTables网站上服务器端处理类别下的第一个常见问题是

问:这不管用.(停留在处理中) 答:这通常是因为从服务器传回不正确的JSON数据。有关如何调试和解决此问题,请参考本技术说明

总之,技术说明中的内容基本上是,从服务器请求的JSON没有被正确地发回。或者在格式上有一个小的错误/错误,或者您已经忘记了一些字段。如果这不是你的问题,那么下一个常见问题是

问:它还是不起作用. 服务器端处理不起作用的下一个最常见的原因是绘制变量在请求中设置时未被返回。DataTables使用绘图来保持抽签计数,因此这是一个重要的参数。见服务器端使用

该页面概述了在JSON中需要发送哪些数据的细节,但最重要的是要注意的是draw选项。文档中的描述(用于从客户端发送到服务器的绘制参数)是:

画计数器。DataTables使用它来确保DataTables按顺序绘制来自服务器端处理请求的Ajax返回(Ajax请求是异步的,因此可以从序列中返回)。这是绘图返回参数的一部分。

返回的draw参数是

此对象是响应-来自作为数据请求的一部分发送的绘制参数的绘图计数器。请注意,出于安全考虑,强烈建议将此参数转换为整数,而不是简单地回显它在绘制参数中发送的内容,以防止跨站点脚本(XSS)攻击。

总结所有这些:首先要检查的是,发送到服务器和从服务器发送的JSON格式是否正确,并且没有错误。插件的作者建议JSONLint调试您的JSON。如果JSON格式正确且没有错误,那么接下来要看的是您的draw参数;确保对服务器的每个请求都使用一个新的draw值,并确保服务器在返回数据时返回一个匹配的draw参数。

此外,如果JSON仍然有问题,我建议查看上面链接的这两个文档,因为它们非常详细,并且描述了所需的内容。

免责声明:--如果您不使用服务器端处理--这都是没有意义的,但是对于服务器端处理用户来说,这是一个很常见的问题,我认为这样做是安全的。

编辑:查看这个论坛帖子,当打印完成时,Allan (插件创建者)提到服务器端请求。这是有意义的,因为处理标记出现在发送ajax请求和接收ajax响应之间。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38119728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文