webentwicklung-frage-antwort-db.com.de

Aufruf eines Web-Service über nodejs

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.

24
iJade

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.

25
hexacyanide

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.

12
Chris Tavares
//--------- 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.

0
Akash Khapare