var express = require('express');
var app = express();
app.get('/products/productList/:id', (res, req) => {
console.log("product Id - " + req.params.id);
});
这段代码有什么问题?我该怎么做才能避免以下错误
TypeError: Cannot read property 'id' of undefined
at app.get (E:ProjectsCraiglisttrialapp.js:46:46)
at Layer.handle [as handle_request] (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterlayer.js:95:5)
at next (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterroute.js:137:13)
at Route.dispatch (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterroute.js:112:3)
at Layer.handle [as handle_request] (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterlayer.js:95:5)
at E:ProjectsCraiglisttrialnode_modulesexpresslibrouterindex.js:281:22
at param (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterindex.js:354:14)
at param (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterindex.js:365:14)
at Function.process_params (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterindex.js:410:3)
at next (E:ProjectsCraiglisttrialnode_modulesexpresslibrouterindex.js:275:10)
(res, req)
您更改了函数参数的顺序:)
请求是第一个参数,响应是第二个参数。
试试这个:
app.get('/products/productList/:id', (req, res) => {
console.log("product Id - " + req.params.id);
});
确保您已required
body-parser
.并使用bodyParser.urlencoded
.
var bodyParser = require('body-parser');
app.use(bodyParser.urlencoded({ extended: false }));
这应该在.get
路由定义之前。
你必须在之前做npm install body-parser