在下面的代码中,我想从链接中读取参数并显示它们。我使用两个单独的if语句来检查每个参数。问题是它只读取第一个if语句并丢弃第二个if语句(不检查第二个参数):
var http = require('http');
var url = require('url');
var server = http.createServer(function (request, response) {
if (request.method == 'GET') {
var queryData = url.parse(request.url, true).query;
response.writeHead(200, {"Content-Type": "text/plain"});
// if parameter is provided
if (queryData.name) {
response.end('Hello ' + queryData.name + '\n');
} else {
response.end("Hello World\n");
}
if (queryData.age) {
response.end('Your age is ' + queryData.age + '\n');
} else {
response.end("No age provided\n");
}
}
});
// Listen on port 3000, IP defaults to 127.0.0.1 (localhost)
server.listen(8081);
链接是:
http://127.0.0.1:8081/start?name=john&age=25
答案 0 :(得分:3)
请勿使用response.end
。而是使用response.write
并在两个if语句之后添加response.end()
。
请参阅文档:https://nodejs.org/api/http.html#http_response_write_chunk_encoding_callback
答案 1 :(得分:1)
在第一个response.write
区块中尝试if
。