我正在使用request进行api调用,并将一些数据返回给我的应用。 我能够在我的代码的身体响应中接收数据
var express = require('express');
var request = require('request');
var app = express();
app.get('/', function(req, res){
res.sendFile(__dirname + "/index.html");
request('https://api.darksky.net/forecast/apikey/37.8267,-122.4233', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
});
}).listen(3000);
console.log('Server is up and running');
进行了api调用,然后我在/ - 到目前为止点击我的索引文件,那么好
但是我想用我的数据将身体响应发送到react js文件,这样我就可以使用这些数据来提供给客户端了。 我似乎无法找到任何有关如何将数据提供给另一个javascript文件的帮助。
答案 0 :(得分:1)
我认为您应该在一条路径中提供索引,而在另一条路径中提供darksky请求。
var express = require('express');
var request = require('request');
var app = express();
app.get('/', function(req, res){
res.sendFile(__dirname + "/index.html");
});
app.get('/api/forecast, function(req, res) {
request('https://api.darksky.net/forecast/apikey/37.8267,-122.4233', function (error, response, body) {
console.log('error:', error);
console.log('statusCode:', response && response.statusCode);
console.log('body:', body);
res.json(body);
});
});
app.listen(3000);
console.log('Server is up and running');
并在客户端使用ajax请求到您的服务器以获取正文,如下所示:
return $.getJSON('http://localhost:3000/api/forecast')
.then(function(data) {
this.setState({ forecast: data.results });
});
希望它有所帮助!