我正在使用 Express 在基于 Node.js 的服务器上工作。
用例:用户应该能够通过使用以下 URL 进行 HTTP GET 从服务器检索他的个人内容:http://192.168.1.88:3000/content/[userID]
我已经定义了这样的路线:
app.get('/content/:userID', content.MyHandler);
在“ MyHandler ”中,我能够读取用户 ID并将适当的数据返回给用户。
问题是当“ userID ”包含井号 (#) 时,我只能得到 MyHandler 中 # 之前的内容,因此我无法找到用户。
因此,如果用户 ID为“123456”,则一切正常。但是如果用户 ID是“1234#567”,我在 MyHandler 中只得到“1234”。
MyHandler 看起来像这样:
exports.MyHandler = function(req, res){
...
var pathChunk = req.url.split("/");
// sys.puts("--> Path in chunks: " + sys.inspect(pathChunk));
// Nothing after # sign
var userID = pathChunk[2]; // Will be incomplete if contains #
};
有没有办法在 MyHandler 中检索完整的用户 ID值,而不管井号 (#) 是什么?