我有这个作为我的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但仍然似乎没有任何效果。我希望能够解决这个问题,或者甚至是一种了解网格是否能够获得结果的方法因为某些原因,这个原生功能现在看起来对我来说太聪明了。
答案 0 :(得分: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
截图,很好的衡量标准: