【发布时间】:2015-07-16 06:58:19
【问题描述】:
我正在使用 jQuerydatables 和带有 php 和 mysql 的服务器端脚本。我已经修改了这里找到的脚本:
https://legacy.datatables.net/examples/data_sources/server_side.html
我已经包含了一个环绕整个脚本的 if-else。
目标是仅在用户从我的数据库中发布有效令牌时才允许返回结果。
所以我设置了那个位。但我不确定如何处理给用户的错误消息。
现在,当用户传入无效令牌时,我的网站(使用数据表)会抛出错误无效 JSON 响应。
我假设这是因为它期望返回的 JSON 中的 iTotalRecords 等。
我想知道是否有人知道如何实现这一点。我找不到任何例子。
算法:
if (postedToken exists in db){
return datatables JSON
}
else{
return json in such a way that I can provide an alert to the user that their session has expired
}
和数据表初始化:
"sAjaxSource": "mydatatablescript.php?token=<?php echo $token;?>
编辑:
我返回了一个有效的 JSON,但我缺少一些必须要求的参数,即 'iTotalRecords' => 0, 'iTotalDisplayRecords' => 0, 'aaData' => [], 'sEcho' => 0.
现在我没有收到问题中描述的错误消息。我看到有一个“fnDrawCallback”参数可以包含在数据表初始化中。我怀疑在这里我可以检查我的消息参数并在必要时发出警报,但我只是不知道如何从该函数中访问 JSON?
【问题讨论】:
-
为什么不只返回空 JSON?
-
@sitilge 我需要能够提示用户他们的会话已过期。这与他们在表中搜索没有结果的内容不同。即表格有一个过滤器选项,它使用提供的脚本并且不会返回任何结果,但这并不意味着用户必须注销并重新登录
-
好吧,返回空json并在客户端用js/jquery解析响应。
-
@sitilge 请查看已编辑的问题
标签: php jquery mysql datatable