节点Restify发回一个整数?
这是当我尝试让我的机器人通过Facebookvalidation我的url时得到的。 我知道这是一个数据types的问题。 我发回一个string,而不是一个int。 这是我的代码看起来像:
server.get("/webhook/",function(req,res,next){ var token = req.query.hub.verify_token; if( token === process.env.VALIDATION_TOKEN ){ var challenge = parseInt( req.query.hub.challenge ); res.send( req.query.hub.challenge ); }else{ res.send("Error, wrong validation token"); } return next(); });
尽pipeparseInt()
, res.send()
返回一个string。 我如何得到它发回int?
所以事实certificateres.send
只发送一个对象,数组,缓冲区或string每个restify文档 (虽然对于快递也是如此)。
要发回一个整数,你有2(sorta 3)选项:
-
使用像这样的缓冲区:
var buf = new Buffer(4); buf.writeUInt32BE(challenge, 0); res.send(buf);
-
使用
res.write(challenge)
或res.end(challenge)
。 有关更多信息,文档在这里和这里 。