2013-03-26 101 views
0

我測試給了請求的URL,但是當我嘗試:node.js的socket.io - 跟蹤請求的URL

http://localhost:4000/foo 

的瀏覽器說:不能讓/富

我的服務器代碼:

var express = require('express'); 
var app = express(); 
var http = require('http'); 
var server = http .createServer(app); 
var io = require('socket.io').listen(server); 
var url = require('url'); 





server.listen(4000); 

app.get('/', function (request, response) { 
var pathname = url.parse(request.url).pathname; 
console.log("currentpathname: "+pathname); 
}); 

我想離開 「富」 爲:

http://localhost:4000/foo 
+2

將app.get('/',。。。''改爲'app.get('*',。。。 – generalhenry 2013-03-26 15:32:52

回答

0

快遞只處理路徑,你告訴它來處理,返回與消息404所有其他路徑一樣Cannot GET /foo

app.get('/'只處理'/'來處理,你需要使用app.get'*'

作爲一個說明所有路徑的規範

http.createServer(function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 

相當於

express().all('*', function (req, res) { 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello World\n'); 
}).listen(1337, '127.0.0.1'); 

要得到怎樣的感覺事情工作我推薦玩一下核心http模塊。