【问题标题】:Express req.query.time return NaN表达 req.query.time 返回 NaN
【发布时间】:2015-07-07 04:31:04
【问题描述】:

我遇到了一个非常奇怪的问题,如果我试图将它转换为 ISO 字符串甚至日期对象,那么从我的 HTTP POST req 中获取时间值总是会导致 NaN。

这是我的 URL 请求: http://localhost:3000/sensor/reading/update?value=33.5&time=1430217238000

update.js

var express = require('express');
var router = express.Router();

var moment = require('moment');

router.post('/', function(req, res, next) {
var time = moment(req.query.time);
}

我确信 req.query.time 是有效的,因为我可以在 console.log(req.query.time) 中看到确切的值。即使 var time = new Date(req.query.time) 也会导致日期无效。

在这里完全失去了想法:(

【问题讨论】:

  • 这是一个 POST 路由,你确定它是 GET 数据你想得到?
  • 另请注意new Date("1430217238000") 实际上不是有效日期
  • 确实这是一个 HTTP POST,用于从我的传感器获取时间和传感器读数,然后将其中继到另一个服务 API,如图形和数据库。

标签: javascript node.js express


【解决方案1】:

你得到一个字符串,你可能想要一个整数

var time = new Date( parseInt( req.query.time, 10) );

【讨论】:

  • 谢谢,我一定是忽略了它。我习惯于解析自动将数字视为数字的 JSON。
猜你喜欢
  • 1970-01-01
  • 2017-08-30
  • 2022-01-10
  • 2017-08-12
  • 2020-02-01
  • 1970-01-01
  • 2012-10-11
  • 2011-04-22
  • 2016-05-20
相关资源
最近更新 更多