如何使http请求从远程服务器获取数据,然后将请求的数据作为快捷j中的视图数据传递?
例如,使用静态数据呈现视图的代码:
ggplot(mod, aes(x=as.factor(clusteringDistance), y=(value) , fill=as.factor(type) ) ) +
stat_summary( fun.y=mean, geom="bar", width=0.8, position=position_dodge(width = 0.90) ) +
facet_grid(direction ~ ., scales="free_y")
答案 0 :(得分:4)
例如,使用request
:
var request = require('request');
router.get('/', function(req, res, next) {
request(URL, function (err, response, body) {
if (err || response.statusCode !== 200) {
return res.sendStatus(500);
}
res.render('index', { title : 'Main page', news : JSON.parse(body) });
});
});
要执行多个请求,您可以使用async.map()
:
var request = require('request');
var async = require('async');
router.get('/', function(req, res, next) {
var URLS = [ 'http://...', 'http://...', ... ];
async.map(URLS, function(url, done) {
request(url, function (err, response, body) {
if (err || response.statusCode !== 200) {
return done(err || new Error());
}
return done(null, JSON.parse(body));
});
}, function(err, results) {
if (err) return res.sendStatus(500);
res.render('index', { title : 'Main page', news : results });
});
});