我有这个代码可以在桌面浏览器中产生所需的效果。
var express = require('express'),
http = require('http'),
app = express(),
mongo = require('mongodb'),
ObjectId = require('mongodb').ObjectID,
ISODate = require('mongodb').ISODate,
monk = require('monk'),
db = monk('localhost:27017/database', {
username : 'user',
password : 'pwd'
}),
server = http.createServer(app);
app.configure(function(){
app.use(cors());
app.use(express.json());
});
app.get('/get-audio/:name', function(req, res){
var hash = req.params.name,
dbData = db.get('audio_database');
dbData.findOne({'hash':hash}, function(e, data){
if(e){res.send(400, e);}
else{
res.send(200, data);
}
});
});
server.listen(8080);
console.log('Listening on port 8080.');
在桌面浏览器中,我获得了一个JSON对象,一切都很好。在移动浏览器中,数据对象始终为空。没有抛出错误。什么都没有抛出。我知道这不是一个完整的REST服务器,但这不是我需要的。我正在获取数据对象并使用对象中的一些属性来执行其他操作而不是实际输出原始数据。我已经解构了这个问题,直到发现mongo甚至没有返回一个对象。如何在不实现完整的REST服务器的情况下完成这项工作?