【发布时间】:2014-02-17 21:31:23
【问题描述】:
我正在尝试从 req.params 中读取参数值,但方式不同(我正在尝试在 RESTIFY 中制作 API)。
首先我阅读了 req.params 中可用的键,例如;
var requestData = Object.keys(request.params);
然后我遍历每个键并尝试获取它的值。下面是代码;
for(i = 1; i < requestData.length; i++) {
keyValue = requestData[i];
console.log(request.params.keyValue);
}
但输出显示我未定义。
原因:我正在尝试以这种方式读取参数,因为我不需要知道每个参数的名称。
下面是完整的代码:
var restify = require('restify');
var assert = require('assert');
var server = restify.createServer();
var client = restify.createStringClient({
url: 'http://example.com'
});
function onRequest(request, response, next)
{
console.log(request.params);
var requestData = Object.keys(request.params);
var customJsonString = '';
var keyValue = '';
for(i = 1; i < requestData.length; i++) {
keyValue = requestData[i];
console.log(request.params.keyValue);
customJsonString += "" + requestData[i] + " : " + requestData[i] + ", ";
}
console.log(customJsonString);
}
function start()
{
server.use(restify.fullResponse()).use(restify.bodyParser());
server.get(/^\/(.*)/, onRequest);
server.post(/^\/(.*)/, onRequest);
server.listen(8888);
console.log("Server has started.");
}
exports.start = start;
我将非常感谢有关此问题的任何帮助。
【问题讨论】:
标签: javascript node.js restify