2016-04-26 66 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