2

我有这个作为我的 dgrid 构造函数,

var MyQuickGrid = declare([onDemandGrid,Keyboard,Selection,ColumnHider,ColumnResizer,ColumnReorder]);

并且部分 config_opts 是

var config_opts = {
         loadingMessage: "   Loading data...",
     noDataMessage: "No results found."
        }

. . .

 lang.mixin(grid_opts,config_opts);
 window.grid = new MyQuickGrid(grid_opts,'node_of_intrest');

但是,当我使用 JsonRESTStore 从服务器请求数据时,返回的 json 数据为空,即“[]”,网格不显示“noDataMessage”,我最初认为这是因为我返回的标题,因为我是即使对于空的结果集也返回 200 OK,我将其更改为 204 No Content 但似乎仍然没有任何效果。我会很感激一种解决方法,甚至是一种知道网格是否未能获得结果的方法,因为由于某些原因,这个本机功能现在对我来说似乎太聪明了。

4

1 回答 1

6

nbjoerg 在 IRC 上提到

确保您的 JsonRest 服务器在其查询响应中设置了正确的 Content-Range 标头(例如,在这种情况下,它应该是“items 0-0/0”)。

有关 Dojo 如何期望 JsonRest 端点行为的更多信息,请参阅http://dojotoolkit.org/reference-guide/1.9/quickstart/rest.html

以下是 JsonRest 服务返回的标头示例,其noDataMessage显示正常:

Connection:Keep-Alive
Content-Length:2
Content-Range:items 0-0/0
Content-Type:application/json
Date:Thu, 19 Sep 2013 12:56:19 GMT
Keep-Alive:timeout=5, max=92
Server:Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0
X-Powered-By:PHP/5.3.0

还有一个截图,很好的衡量标准:

在此处输入图像描述

于 2013-09-19T13:01:29.810 回答