dojo网格:使用有效日期向服务器发送过滤条件

时间:2013-10-23 05:14:29

标签: javascript date dojo dojox.grid

我有一个Dojo EnhancedGrid,其中JsonRest对象包装在ObjectStore中。我想将过滤条件发送到服务器。

我的代码几乎完全是这样做的:

var myStore = new JsonRest({target:"data.jsp"});
var grid = new dojox.grid.EnhancedGrid({
  store: dataStore = new ObjectStore({objectStore: myStore}),
  id:"grid",
  query: { fileId: "*" },
  structure:"mystructure",
  plugins:{
    filter: {
      isServerSide: true,
      setupFilterQuery: setupFilter
    }
  }
});
var setupFilter = function(commands, request){
  if(commands.filter && commands.enable){
    request.query.filter = JSON.stringify(commands.filter);
  }
};

问题是commands.filter似乎不包含有效的日期对象。在Firefox的代码调试器中查看它,它似乎保存了日期应该是的数字(内存地址?)。

日期范围查询中JSON.stringify(commands.filter)的示例结果是:

  

{ “OP”: “所有”, “数据”:[{ “OP”: “largerEqual”, “数据”:[{ “OP”: “日”, “数据”: “uploadDate”,“isCol “:真},{” OP “:” 日”, “数据”: 13827.06亿下, “isCol”:假}]},{ “OP”: “lessEqual”, “数据”:[ { “OP”: “日”, “数据”: “uploadDate”, “isCol”:真},{ “OP”: “日”, “数据”: 1381150800000 下, “isCol”:假}]}]}

如何在过滤条件中包含有效日期?

1 个答案:

答案 0 :(得分:0)

数字值很可能是自1970/01/01以来的毫秒数

例如......

var a = new Date(1382706000000);

现在,如果您检查调试器中的a或将其注销,您应该会看到它是一个日期对象。

我已退出:Fri Oct 25 2013 14:00:00 GMT+0100 (GMT Daylight Time)