Javascript 使用Node.js和Express的简单API调用
我刚刚开始学习节点、API和web应用程序 我了解Node.js和Express的基本工作原理,但现在我想开始调用其他服务的API并处理它们的数据 您能否概述基本HTTP请求以及如何获取/解析节点中的响应?我还对向请求中添加特定的标题感兴趣(最初我使用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
谢谢 您不能使用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);
}
});