簡體   English   中英

Node.js:連接路由器中間件

[英]Node.js : Connect router middleware

我正在嘗試將Connect用於 Node.js,但在讓路由器中間件完全按照我的意願行事時遇到問題。

具體來說,我希望能夠用 URL 的搜索詞部分填充 req.params object,例如

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 啟發了 web 的 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"}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM