【发布时间】:2014-05-12 11:41:32
【问题描述】:
所以我正在做一个项目,自然我想以网格格式显示信息,经过一整天尝试不同的产品后,我发现了http://datatables.net/api,这真的很容易实现,而且更有意义我比我发现的任何东西都好。问题是我看不到一种简单的方法可以使它与我对服务器的 RESTful 调用一起正常工作。我很有可能只是忽略了文档中的某些内容,但我看不到我在寻找什么。我需要的信息几乎完全在搜索参数中。信息将采用以下格式:
GET COLLECTION ?where=
GET COLLECTION ?include=
GET COLLECTION ?orderby=
GET COLLECTION ?sortby=
GET COLLECTION ?pageIndex=
GET COLLECTION ?limit=
GET COLLECTION ?fields=
GET COLLECTION ?q=
我已经找到了Editable jQuery Grid Recommendations with REST API 的帖子,它解释了如何使用 jqGrid 做类似的事情,但如果可以的话,我宁愿尝试让 Datatables 工作,因为它对我来说更有意义。任何帮助将不胜感激。
编辑
我真正在寻找的,到目前为止,我认为尚未得到解答的是如何确定客户端输入的 URL 以发出请求。例如,如果我有查询:
www.somewebsite.com/v1/people?limit=10&pageIndex=20&orderby=personID
显然,orderby 是 personID,限制是 10,pageIndex 是 20。
问题的关键在于,无论是从服务器还是从服务器,只要数据表发生变化,我都需要 url 采用这种格式,因为我们想要的是只为每个页面提供数据当用户要求时。因此,如果我从服务器收到该请求,我会知道数据表将位于第 3 页,其中 10 个条目按 personID 列排序。您将如何将该信息提供给 dataTables 表,如果它们更改了某些内容,您将如何再次将其恢复(我假设如果您能够回答前者而不是回答后者)?
【问题讨论】:
-
为了让它更清楚一点,我已经看到你可以找到 pageIndex 和限制绑定到 iDisplayLength 和 iDisplayStart,但我更感兴趣的是找出其他信息,因为它是通常是更重要的东西。
-
使用“sAjaxSource”,然后使用“url”,但这需要采用特定格式,如果您不想更改 REST 服务的格式,您可以做的另一件事是自己做一个ajax并构建aaData对象
-
你可能是对的,不幸的是我对 JS 还很陌生,所以我不完全确定我会如何去做。
-
一旦你对你的休息服务进行了 Ajax 调用,就可以像这个例子中那样构建 aaData jsfiddle.net/j6N7A/1
-
我已经发布了一个更好的答案,看看它,它可能会帮助你。