Node.js:连接路由器中间件
Node.js : Connect router middleware
我正在尝试使用Connect for Node.js,但在让路由器中间件完全按照我的意愿运行时遇到了问题。
具体来说,我希望能够用URL的搜索项部分填充req.params对象,例如
http://www.google.com/search?q=Search
将返回req.params = { "q" : "Search" }
我更喜欢一个设置,在那里我可以做一些类似的事情:
router.get('/user?:userid&:fullname&:emailaddress', function(req, res) {...
以便我可以访问检查每个搜索项的访问,然后相应地做出响应。
在Connect中有办法做到这一点吗?
这并不是使用Connect解决问题的真正答案。但我认为您应该使用Express(由同一作者TJ撰写),它在封面下使用Connect,但功能要强大得多。
Sinatra启发的网络开发node.js框架——疯狂快速、灵活、性感的
当使用Express时,实现这一点非常容易,如app.js:所示
var express = require('express'),
app = express.createServer();
app.get('/search', function (req, res) {
res.send(req.query);
});
app.listen(3111);
alfred@alfred-laptop:~/node/so/6513101$ curl -v "http://localhost:3111/search?q=a&y=b"
* About to connect() to localhost port 3111 (#0)
* Trying ::1... Connection refused
* Trying 127.0.0.1... connected
* Connected to localhost (127.0.0.1) port 3111 (#0)
> GET /search?q=a&y=b HTTP/1.1
> User-Agent: curl/7.21.0 (i686-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18
> Host: localhost:3111
> Accept: */*
>
< HTTP/1.1 200 OK
< X-Powered-By: Express
< Content-Type: application/json; charset=utf-8
< Content-Length: 17
< Connection: keep-alive
<
* Connection #0 to host localhost left intact
* Closing connection #0
{"q":"a","y":"b"}
相关文章:
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- Redux中间件在next()之前更改状态
- 快速的套接字 io 实例/中间件
- 如何使用Express'正确加载图像;s的静态中间件
- 如何在快递中制作中间件的动态链.js
- 在 Redux 中,在商店中应用中间件未正确称为化简器
- 意思是.JS中间件中的猫鼬填充不起作用
- "Cookies的这个实例“;在nodejs cookie中间件的源代码中
- Expressjs:如何跨路由共享路由中间件
- 如何在Keystone.js项目中使用Express.js中间件
- Express.js恶意路径中间件错误403
- 在角度 ui 路由器中实现中间件
- Express :如何将中间件独占添加到路由器对象中的大型路由列表中
- 反应路由器如何从客户端向服务器中间件发送请求
- 同构反应-路由器-冗余同步历史中间件
- 从中间件传递参数到表示路由器
- Node.js:连接路由器中间件
- ExpressJS >路由器中间件>通过重定向传递变量 req.foo 不起作用
- Express JS路由器中间件- Body Parser - req.正文有连字符