作为初学者,我正在使用MEAN堆栈技术构建一个简单的站点。我有一个api,它根据oject _id获取测验数据对象。一切正常。我想要做的是,根据我的网址http://localhost:3000/viewQuiz?gpQ=59b2ac3cfc2283480879025c
中的查询字符串值,我希望api加载数据而不是硬编码,如下所示。我在这里做的不同之处是我有一个/viewQuiz
的路由设置,而api url是/api/getQuizData
。因此,当我加载http://localhost:3000/viewQuiz?gpQ=xxxxxx
时,我希望api获取正确的数据。请参阅下面的代码
Server.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]);
});
});
Angular bit ..
//Get Quiz data
$scope.quizData = '';
$http.get('/api/getQuizData')
.success(function(data) {
console.log(data);
$scope.quizData = data;
})
然后我使用这个AngularJs QuizData绑定来显示数据。如何根据查询字符串值更改server.js文件以使其动态化?
答案 0 :(得分:0)
在角度尝试这个 //req.query由GPQ值组成,并根据gpq =“xyz ......”后发送的内容动态变化。
Quiz.findById(req.query.gPQ, function(err, quiz) {
if (err) throw err;
// object of the user
res.json(quiz);
});