这是我的要求:
var xhttp = new XMLHttpRequest();
xhttp.open("GET", "/api/registerRequest?user=user", true);
xhttp.send();
以下是处理请求:
var express = require("express");
var router = express.Router();
router.get("/registerRequest/:user", function(req, res, next){
console.log("response for param");
console.log(req.params.user);
});
router.get("/registerRequest", function(req, res, next){
console.log("normal response");
console.log();
});
这是应用程序:
var express = require("express");
var app = express();
app.use("/api", index);
请注意,这些只是一小部分,与问题相关,即代码的一部分。
现在,控制台中的输出是
正常回应
但根据我的理解,它应该是:
对param的回应
用户
答案 0 :(得分:2)
你误解了路由。
router.get("/registerRequest/:user"
匹配/registerRequest/...
表单的网址,其中...
变为req.params.user
。
您没有制作这样的网址。
答案 1 :(得分:1)
在网址/api/registerRequest?user=user
中,您将用户作为查询参数发送。这将允许您从req.query.user
访问它。 more here
要从req.params.user
访问它,您需要将ajax请求中的网址更改为/api/registerRequest/user
。 doc reference