Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法读取属性';名称';路由参数中未定义的_Javascript_Node.js_Express_Routes - Fatal编程技术网

Javascript 无法读取属性';名称';路由参数中未定义的

Javascript 无法读取属性';名称';路由参数中未定义的,javascript,node.js,express,routes,Javascript,Node.js,Express,Routes,紧随其后 我有以下建议(): 但是如果我转到http://localhost:3000/name/错误:无法获取/name/ 如果我转到http://localhost:3000/name/Leon 错误: TypeError: Cannot read property 'name' of undefined at /Users/leongaban/Projects/Node/expressApp/server3.js:5:39 at Layer.handle [as handle_

紧随其后

我有以下建议():

但是如果我转到
http://localhost:3000/name/
错误:无法获取/name/

如果我转到
http://localhost:3000/name/Leon

错误:

TypeError: Cannot read property 'name' of undefined
   at /Users/leongaban/Projects/Node/expressApp/server3.js:5:39
   at Layer.handle [as handle_request] (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/layer.js:82:5)
   at next (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/route.js:100:13)
   at Route.dispatch (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/route.js:81:3)
   at Layer.handle [as handle_request] (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/layer.js:82:5)
   at /Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:235:24
   at param (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:332:14)
   at param (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:348:14)
   at Function.proto.process_params (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:392:3)
   at /Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:229:12

不确定我遗漏了什么?

参数
req
上。使用
req.params.name


关于无法获取/name/,如果在路由中指定一个参数,将url的该部分留空将与路由不匹配。您必须填充url的
:name
部分才能点击路由。

请求对象包含参数而不是响应。考虑一下您向服务器发出的包含请求参数的请求?所以请求对象持有它们


您需要
req.params.name

如果您使用的是
body parser
您将在
req.query.name
中获得它
body parser
不解析url参数,只解析请求的主体。解析后的正文显示在
req.body
中<代码>请求查询
包含查询字符串中的键值对,位于
TypeError: Cannot read property 'name' of undefined
   at /Users/leongaban/Projects/Node/expressApp/server3.js:5:39
   at Layer.handle [as handle_request] (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/layer.js:82:5)
   at next (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/route.js:100:13)
   at Route.dispatch (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/route.js:81:3)
   at Layer.handle [as handle_request] (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/layer.js:82:5)
   at /Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:235:24
   at param (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:332:14)
   at param (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:348:14)
   at Function.proto.process_params (/Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:392:3)
   at /Users/leongaban/Projects/Node/expressApp/node_modules/express/lib/router/index.js:229:12