Javascript 使用Node.js和Express的简单API调用

Javascript 使用Node.js和Express的简单API调用,javascript,node.js,ajax,api,express,Javascript,Node.js,Ajax,Api,Express,我刚刚开始学习节点、API和web应用程序 我了解Node.js和Express的基本工作原理,但现在我想开始调用其他服务的API并处理它们的数据 您能否概述基本HTTP请求以及如何获取/解析节点中的响应?我还对向请求中添加特定的标题感兴趣(最初我使用API处理时间表数据) 顺便说一句,这看起来很简单,但大量的搜索并没有找到任何能回答我问题的答案。如果这是重复,让我知道,我会删除 谢谢 您不能使用Express获取内容,您应该使用Mikeal的库来实现特定目的 该库的API非常简单: var r

我刚刚开始学习节点、API和web应用程序

我了解Node.js和Express的基本工作原理,但现在我想开始调用其他服务的API并处理它们的数据

您能否概述基本HTTP请求以及如何获取/解析节点中的响应?我还对向请求中添加特定的标题感兴趣(最初我使用API处理时间表数据)

顺便说一句,这看起来很简单,但大量的搜索并没有找到任何能回答我问题的答案。如果这是重复,让我知道,我会删除


谢谢

您不能使用Express获取内容,您应该使用Mikeal的库来实现特定目的

该库的API非常简单:

var request = require('request');
request('http://www.google.com', function (error, response, body) {
  if (!error && response.statusCode == 200) {
    console.log(body) // Print the google web page.
  }
})

编辑:您最好使用此库而不是http默认库,因为它有更好的API和一些更高级的功能(它甚至支持cookie)。

您可以使用http客户端:

var http = require('http');
var client = http.createClient(3000, 'localhost');
var request = client.request('PUT', '/users/1');
request.write("stuff");
request.end();
request.on("response", function (response) {
  // handle the response
});
此外,您还可以设置标题,如中所述:

需要安装两个软件包

server.js

index.ejs

输出


您使用的是Node.js的哪个版本?Node版本当前为0.4.12。如果其他人遇到此问题,此方法已被弃用。您能否告诉我,是否有必要结束请求,就像我们将使用“.end()”处理http请求一样?我认为这仅适用于本机http客户端<代码>请求为您提供了一个更友好的界面。任何人遇到此问题时,“请求”库都会被弃用。请记住,此库已被降级(自2020年2月起)。
client.request(method='GET', path, [request_headers])
npm install ejs 
npm install request
var request = require('request');
app.get('/users', function(req, res) {
    request('https://jsonplaceholder.typicode.com/users', function(error, response, body) {
        res.json(body)
    });
});
$.ajax({
    type: "GET",
    url: 'http://127.0.0.1:3000/posts',
    dataType: "json",
    success: function(res) {
        var res_data = JSON.parse(res);
        console.log(res_data);
    }
});