2016-04-26 25 views
0

我有一個簡單的節點/ express js api,它接收來自另一個app的請求。請求是GET /api/users?data=5。每當我用上述5硬編碼數據,它確實打到/api/users route.But每當我發送請求與動態數據,如GET /api/users?data=id其中id = 5,它不會遇到/api/users路由,但在服務器日誌中,我確實看到請求打網址/users?data=5。我不知道什麼是錯的,但我懷疑,也許我沒有正確定義路線。任何幫助將讚賞。我是新的Node js。謝謝you.Here是我的代碼一個簡單的http GET請求不會打到快遞js api

var app = express(); 
var router = express.Router(); 
router.use(function(req, res, next) { 
    next(); 
}); 

router.get('/', function(req, res) { 
    res.render('home'); 

}); 
app.use('/api', router); 
router.route('/users') 

    .get (function(req, res) { 
    var data = req.query.data; 
    }); 
+0

嘗試將'app.use('/ api',router)'移到你的代碼的底部,在你的'router.route('users')'東西之後。 – saadq

+0

謝謝,但沒有奏效。 – sparks

+0

你可以發佈你如何做你的客戶請求?你打擊瀏覽器或使用客戶端? –

回答

0

我想通了,在請求GET /api/users?data=id HTTP/1. ID沒有被正確格式化,因此請求被擊中的服務器,但不應用層。

UPDATE 總之應用程式,使HTTP GET請求被寫入的Arduino(它轉換爲C).I被讀取來自爲char array.So我原本以爲其保存在設備存儲器中的ID將char數組轉換爲字符串,但實際上仍然是字符,並且我把這個變量放在Get請求的url中,這就是爲什麼它在抱怨。

+0

如果您發佈了錯誤的格式和正確的格式,可能會對其他人有所幫助。 – avck