Jon*_*Jon 3 javascript http node.js express
我有以下路线:
exports.index = function(req, res){
res.render('index', { title: 'Express' });
};
Run Code Online (Sandbox Code Playgroud)
我想调用以下Web服务:http://ergast.com/api/f1/current/last/results并告诉它返回JSON.
我在索引请求中尝试过类似的东西,但是它有错误:
var options = {
host: 'ergast.com',
port: 80,
path:'/api/f1/current/last/results.json'
};
http.get(options, function(response) {
response.setEncoding('utf-8');
console.log("Got response: " + response.statusCode);
var data = JSON.parse(response);
}).on('error', function(e) {
console.log("Got error: " + e.message);
}).on('data', function (chunk) {
console.log('BODY: ' + chunk);
});
Run Code Online (Sandbox Code Playgroud)
我猜我可能在某处错过了这一点.
谢谢
这应该很简单:)我建议你使用请求模块(npm安装请求,或者只是将它添加到你的packages.json文件中).
然后,您可以执行以下操作:
var request = require("request");
request.get("http://ergast.com/api/f1/current/last/results.json", function (err, res, body) {
if (!err) {
var resultsObj = JSON.parse(body);
//Just an example of how to access properties:
console.log(resultsObj.MRData);
}
});
Run Code Online (Sandbox Code Playgroud)
我看到了关于使用JSONP而不是直接使用JSON API的建议.
JSONP存在的原因是浏览器上的跨域API.由于您在服务器上运行此命令,因此跨域限制不是问题,因此不需要JSONP.无论如何,继续前进吧!
编辑:我不确定你为什么不尝试这个.如果是用于错误管理,我现在已经使用错误管理更新了代码.
| 归档时间: |
|
| 查看次数: |
8699 次 |
| 最近记录: |