基本上我在使评论链接动态化方面遇到问题。我的目标是,无论我输入什么号码,get 都会输入我的呼叫并给我我想要的 id,该呼叫看起来像 http://localhost:1234/comments?id=num 但我找不到任何可以让我的电话是动态的任何帮助都是感激的
server.js
(async () => {
const db = require("./database");
const users = await db.selectUsers();
console.log(users);
/*const assoc = await db.selectAssoc();
console.log(assoc);*/
const processRequest = require('./processRequest');
const aplicacao = processRequest(1234);
aplicacao.get('/users',function(req,res){
res.write(JSON.stringify(users));
res.end();
});
aplicacao.get('/comments?id=1',function(req,res){
console.log("entered");
res.end();
});
})();
processRequest.js
var http = require('http');
var criarProcessRequest = function(porta){
var entrada = {};// Api de entrada
var caminhos = {};// rotas para o pedido
var metodos = ['GET','POST'];// O pedido é enviado com maisculas
metodos.forEach(function(metodo){
caminhos[metodo] = {};
entrada[metodo.toLowerCase()] = function(path,fn){
caminhos[metodo][path] = fn;
};
});
http.createServer(function(req,res){
res.setHeader('Access-Control-Allow-Origin','*');
if(!caminhos[req.method][req.url]){
res.statusCode = 404;
return res.end();
}
caminhos[req.method][req.url](req,res);
}).listen(porta);
return entrada;
};
module.exports = criarProcessRequest;
如果英语不好,那也很抱歉,这不是我的第一语言
我尝试过特殊字符,例如#、$、&、?并尝试过研究
如果您使用的是普通 Node.js,您可以利用内置的
url
模块来解析 URL:
const url = require('url');
aplicacao.get('/comments', function(req, res) {
const parsedUrl = url.parse(req.url, true);
const id = parsedUrl.query.id;
...
});
使用 Express.js 框架会更容易,因为您可以使用
req.query
直接访问 URL 参数。