【发布时间】:2018-02-19 17:21:15
【问题描述】:
作为初学者,我正在使用 MEAN 堆栈技术构建一个简单的网站。我有一个基于 oject _id 获取测验数据对象的 api。一切正常。我想做的是,根据我的 url http://localhost:3000/viewQuiz?gpQ=59b2ac3cfc2283480879025c 中的查询字符串值,我希望 api 加载数据,而不是像下面显示的那样进行硬编码。我在这里所做的不同之处在于我为/viewQuiz 设置了路由,并且api url 是/api/getQuizData。因此,当我加载 http://localhost:3000/viewQuiz?gpQ=xxxxxx 时,我希望 api 能够获取正确的数据。请参阅下面的代码
服务器.js
//Routes
app.get('/startCampaign', function(req, res){
res.sendFile(__dirname + '/public/views/start-campaign.html');
});
//Get data
var Quiz = mongoose.model('Quiz', quizSchema);
var ObjectId = require('mongodb').ObjectID;
app.get('/api/getQuizData', function(req, res){
Quiz.find({_id:ObjectId("59b2ac3cfc2283480879025c")}, function(err, quiz) {
if (err) throw err;
// object of the user
res.json(quiz[0]);
});
});
角位..
//Get Quiz data
$scope.quizData = '';
$http.get('/api/getQuizData')
.success(function(data) {
console.log(data);
$scope.quizData = data;
})
然后我使用这个 AngularJs QuizData 绑定来显示数据。如何根据查询字符串值更改我的 server.js 文件以使其动态化?
【问题讨论】:
-
Quiz.find({_id:ObjectId(req.query.gpQ)}, function(err, quiz) { -
@Keith 不幸的是这不起作用
-
console.log(req.query)显示什么?
标签: javascript angularjs node.js mongodb mongoose