TypeError: res.send is not a function
at C:\Users\RT-0914001\WebstormProjects\nodegeekpro\index.js:5:8
at Layer.handle [as handle_request] (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\layer.js:95:5)
at next (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\layer.js:95:5)
at C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\index.js:281:22
at Function.process_params (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\index.js:335:12)
at next (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\index.js:275:10)
at expressInit (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\middleware\init.js:40:5)
at Layer.handle [as handle_request] (C:\Users\RT-0914001\WebstormProjects\nodegeekpro\node_modules\express\lib\router\layer.js:95:5)
在初学express中有时候会遇到这个问题,检查一下教程的源码确实是res.send,经检查发现在函数中的res和req的顺序写反了,express官方文档中写的使function(req,res,next),在开发中也应该严格遵循官方文档,不能调换顺序。
app.get('/category',function (res,req) {
res.send('hello,word');
});
如果只有两个的话,第二个参数就是向浏览器发送回应的参数,这个参数名是可以任意命名的,跟req和res关系不大,用res,req只是为了记忆方便
app.get('/category',function (res,req) {
req.send('hello,word');
});
app.get('/category',function (req,res) {
res.send('hello,word');
});
app.get('/category',function (req,show) {
show.send('hello,word');
});
例如这样就能够正常在浏览器显示相应的内容