我有这段代码可以在桌面浏览器中产生所需的效果。
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 服务器的情况下完成这项工作?