How to make the body site to display?
I understand that I may not pass a function variable res, but I do not understand how it can pass there, please show once, so that later I knew how to do it.
var request = require('request');
var express = require('express');
var app = express();
app.get('/', function(req, res){
request({
url: 'http://google.com/'
}, gotData);
});
app.listen(3000);
function gotData(err, res, body) {
if(!err && res.statusCode == 200) {
console.log(body); // fine
res.send(body); // error
}
else {
console.log(err);
}
}
The res
you are using is not the express res
. The res
you want is out of scope.
var request = require('request');
var express = require('express');
var app = express();
app.get('/', function(req, res){ // express res
request({
url: 'http://google.com/'
}, function(err, res2, body) { // request res
if(!err && res.statusCode == 200) {
return res.send(body);
} else {
return res.send('Could not load google.com');
}
});
});
app.listen(3000);