2016-11-19 40 views
2

是节点js有任何功能就像$ .ajax?我认为Node js完全是JavaScript编写的,$ .ajax jquery也完全是由javascript编写的。然后,也许节点js有任何功能就像$ .ajax。这是错的吗?

+0

https://github.com/request/request – undefined

+0

ajax用于前端查询后端。由于nodejs在后台运行,为什么你需要ajax? – Mox

+0

@Mox他/她可能想要将一个典型的http请求发送到另一台服务器或内部应用程序级别的路由。 – undefined

回答

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 
}); 

由于承诺现在用于处理在Javascript异步操作更现代的工具,这里是用承诺的例子:

const rp = require('request-promise'); 

rp({method: 'GET', uri: 'http://www.google.com'}).then(body => { 
    // handle response here 
}).catch(err => { 
    // error here 
});