我不确定我该怎么问这个问题。我在客户端使用React / Redux / d3,在服务器端使用Node / express进行应用程序(正确的是这个描述似乎不对)。我想允许用户使用例如下拉菜单更新API客户端。我不是在这里寻找特定的代码,而是更普遍的模式。
例如,此处是我的Google Analytics分析API调用的一部分:
// query the data
var queryData = function(req, res) {
// authorize the client (see code above)
authorize(function() {
// do the actual call to the google api
analytics.data.ga.get({
'auth': jwtClient,
'ids': VIEW_ID,
'metrics': 'ga:uniquePageviews',
'dimensions': 'ga:pagePath',
'start-date': '30daysAgo',
'end-date': 'yesterday',
'sort': '-ga:uniquePageviews',
'max-results': 10,
}, function (err, response) {
if (err) {
console.log(err);
return;
}
// send the data to the client (i.e. browser)
res.send(response);
});
});
}
module.exports = {
queryData
};
按照上面的代码,我想提供一个包含各种'start-date'
的下拉菜单。我的问题是否清楚?我该怎么做呢 ?
答案 0 :(得分:1)
您的expressjs函数可以从请求对象获取请求参数" req"
function MyCtrl($scope) {
$scope.classList=[{
label: 'Class1', value: false
}, {
label: 'Class2', value: false
}, {
label: 'Class3', value: false
}, {
label: 'Class4', value: false
}];
$scope.getSubscribedClassList = function() {
$scope.classList.forEach(function(obj) {
obj.value = $scope.selectedClasses;
});
}
}
因此,您需要请求您的expressjs端点,其参数需要使代码变为变量并使用动态值。
req.params.startDate