Node js有没有像$ .ajax那样的功能?我认为Node js是完全javascript编写的,$ .ajax jquery也是完全javascript编写的。那么节点js可能就像$ .ajax一样有任何功能。这是错的吗?
答案 0 :(得分:4)
从技术上讲,AJAX是基于浏览器的特定API的浏览器。因此,我将假设您真正要求的是一种从node.js内部对其他HTTP服务器发出HTTP请求的简单方法。
要发出此类请求,您可以使用内置的http.get()
(在http模块中),也可以使用更高级别的附加模块request()
。请求模块构建在http
模块之上,但提供了更多功能,而且对于许多内容来说,它更容易使用。
在请求模块的功能列表中,您会发现:流支持,表单编码/解码,http身份验证,自定义标头,OAuth,签名,重定向,queryString,gzip等等。
以下是一个例子:
const request = require('request');
request({method: 'GET', uri: 'http://www.google.com'}, function(err, response, body) {
// handle response here
});
由于promises现在是在Javascript中处理异步操作的更现代的工具,这里是一个使用promises的例子:
const rp = require('request-promise');
rp({method: 'GET', uri: 'http://www.google.com'}).then(body => {
// handle response here
}).catch(err => {
// error here
});