Ich bin ziemlich neu bei Node.js. Ich habe mit dem Aufruf eines Dienstes mit NodeJS experimentiert. Wäre hilfreich, wenn auf das NodeJS-Äquivalent des folgenden Codes hingewiesen werden könnte:
$.ajax({
type: "POST",
url: "/WebServiceUtility.aspx/CustomOrderService",
data: "{'id': '2'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (message) {
ShowPopup(message);
}
});
Alle hilfreichen Links werden sehr geschätzt.
Die diesem Code entsprechende Node.js kann jQuery-serverseitig, andere Module oder die systemeigenen HTTP / HTTPS -Module verwenden. So wird eine POST -Anforderung ausgeführt:
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();
In diesem Beispiel wird die Datennutzlast (JSON) erstellt. Anschließend werden die HTTP-Post-Optionen eingerichtet, z. B. Host, Port, Pfad, Header usw. Die Anforderung selbst wird dann eingerichtet und die Antwort für die Analyse erfasst. Dann schreiben wir die POST - Daten in die Anfrage selbst und beenden die Anfrage.
Der derzeit einfachste Weg ist die Verwendung des Moduls Request . Auf der Seite finden Sie viele Beispiele, die zeigen, wie Sie das tun, was Sie wollen.
Wenn Sie raw node.js verwenden möchten, müssen Sie entweder http oder https Built-in-Module verwenden. Sie müssen jedoch viele der Codierungs- und Streaming-Details selbst bearbeiten. Achten Sie auch darauf, die Client-Teile der Dokumentation und nicht den Server genau zu betrachten.
//--------- Tracking request service
factory.trackRequest = function (payload) {
return $http({
method: 'POST',
**url: 'https://uat-userauthentication.bdt.kpit.com/'+
'employee/trackRequestStatus'**,
data: payload
});
};
return factory;
Ich rufe den Knoten-JS-Dienst in eckig per UI-Routing auf und habe im Controller die Funktion trackRequest
verwendet.