【发布时间】:2014-05-07 08:58:30
【问题描述】:
我正在尝试使用 node.js、express、mongo 和 mongodb 创建一个简单的 Web 服务,它根据 URL 中的参数从 mongodb 返回结果。我想为调用添加 jsonp 支持。该服务将被这样调用:
localhost:3000/database/collection/get?param1=Steve¶m2=Frank&callback=foo
app.js
var mongo_address = 'localhost:27017/database';
var db = monk(mongo_address);
app.get('/:coll/get', routes.handle(db);
路由/index.js
exports.handle = function(db) {
return function(req, res) {
// Send request
db.get(req.params.coll).find(req.query, {fields:{_id:0}}, function(e,docs) {
if (e) throw e;
res.jsonp(docs)
});
};
}
当我使用 res.jsonp 的内置 JSONP 支持时,它会将回调参数发送到 mongo 并返回一个空列表。我尝试在查询期间删除回调参数,然后手动将其添加回结果中,但运气不佳。我觉得我错过了一些简单的东西。任何帮助将不胜感激。
【问题讨论】:
标签: javascript node.js mongodb express jsonp