Dojo dgrid没有显示"找不到结果"消息

chi*_*old 2 rest dojo amd http-1.1 dgrid

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

var MyQuickGrid = declare([onDemandGrid,Keyboard,Selection,ColumnHider,ColumnResizer,ColumnReorder]);
Run Code Online (Sandbox Code Playgroud)

部分config_opts是

var config_opts = {
         loadingMessage: "   Loading data...",
     noDataMessage: "No results found."
        }
Run Code Online (Sandbox Code Playgroud)

...

 lang.mixin(grid_opts,config_opts);
 window.grid = new MyQuickGrid(grid_opts,'node_of_intrest');
Run Code Online (Sandbox Code Playgroud)

然而,当我从使用JsonRESTStore服务器请求数据,并返回的JSON数据是空的,即"[]"的网格不显示"noDataMessage",我最初认为,这是因为头我被返回的,因为我是即使对于空结果集也返回200 OK,我将其更改为204 No Content但仍然似乎没有任何效果.我很感激一个工作,甚至一种方法来了解网格是否未能获得结果因为某些原因这个原生功能对我来说似乎太聪明了.

Ken*_*iro 6

nbjoerg在IRC上提到过

确保您的JsonRest服务器在其查询响应中设置正确的Content-Range标头(例如,在这种情况下,它应该是"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
Run Code Online (Sandbox Code Playgroud)

和屏幕截图,好的措施:

在此输入图像描述