使用nodejs调用Web服务

我对Node.js很陌生 我正在试验如何使用NodeJS调用服务。 如果能指出下面代码的NodeJS等价物,将会有所帮助:

$.ajax({ type: "POST", url: "/WebServiceUtility.aspx/CustomOrderService", data: "{'id': '2'}", contentType: "application/json; charset=utf-8", dataType: "json", success: function (message) { ShowPopup(message); } }); 

任何有用的链接将不胜感激。

相当于该代码的Node.js可以使用jQuery服务器端,使用其他模块或使用本地HTTP / HTTPS模块。 这是POST请求完成的方式:

 var http = require('http'); var data = JSON.stringify({ 'id': '2' }); var options = { host: 'host.com', port: '80', path: '/WebServiceUtility.aspx/CustomOrderService', method: 'POST', headers: { 'Content-Type': 'application/json; charset=utf-8', 'Content-Length': data.length } }; var req = http.request(options, function(res) { var msg = ''; res.setEncoding('utf8'); res.on('data', function(chunk) { msg += chunk; }); res.on('end', function() { console.log(JSON.parse(msg)); }); }); req.write(data); req.end(); 

这个例子创build了数据有效载荷,这是JSON。 然后设置HTTP post选项,比如主机,端口,path,头文件等。然后build立请求本身,我们收集响应进行parsing。 然后我们将POST数据写入请求本身,并结束请求。

目前最简单的方法是使用Request模块 。 在那里看到很多的例子,显示如何做你想做的事情。

如果你想使用原始的node.js,你需要使用http或https内置模块,但是你必须自己处理大量的编码和stream媒体细节。 此外,请务必特别注意文档的客户端部分,而不是服务器。

 //--------- Tracking request service factory.trackRequest = function (payload) { return $http({ method: 'POST', **url: 'https://uat-userauthentication.bdt.kpit.com/'+ 'employee/trackRequestStatus'**, data: payload }); }; return factory; i call node js service in angular by UI routing and used trackRequest function in controller