我对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);
}
});
非常感谢任何有用的链接。
答案 0 :(得分:25)
与该代码等效的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();
此示例创建数据有效内容,即JSON。然后它设置HTTP post选项,例如主机,端口,路径,标题等。然后设置请求本身,我们收集解析响应。然后我们将POST数据写入请求本身,并结束请求。
答案 1 :(得分:14)
目前最简单的方法是使用Request module。请参阅那里的页面,了解大量示例,了解如何做您想做的事。
如果你想使用原始node.js,你需要使用http或https内置模块,但你必须处理大量的编码和流媒体详述自己。此外,请务必专门查看文档的客户端部分,而不是服务器。
答案 2 :(得分:0)
//--------- Tracking request service
factory.trackRequest = function (payload) {
return $http({
method: 'POST',
**url: 'https://uat-userauthentication.bdt.kpit.com/'+
'employee/trackRequestStatus'**,
data: payload
});
};
return factory;
我通过UI路由以角度调用节点js服务,并且我在控制器中使用了trackRequest
函数。