web-dev-qa-db-fra.com

Appeler un service Web en utilisant nodejs

Je suis assez nouveau sur Node.js. J'essayais de savoir comment appeler un service en utilisant NodeJS. Serait utile si pourrait souligner l'équivalent NodeJS du code ci-dessous:

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

Tous les liens utiles seraient les plus appréciés.

24
iJade

L'équivalent Node.js à ce code peut utiliser jQuery côté serveur, utiliser d'autres modules ou utiliser les modules natifs HTTP / HTTPS . Voici comment une demande POST est faite:

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

Cet exemple crée la charge de données, qui est JSON. Il configure ensuite les options de publication HTTP, telles que l’hôte, le port, le chemin, les en-têtes, etc. La demande elle-même est ensuite configurée et est collectée pour être analysée. Ensuite, nous écrivons les données POST dans la requête elle-même et terminons la requête.

25
hexacyanide

Le moyen le plus simple pour le moment est d'utiliser le module Request . Voir la page pour de nombreux exemples montrant comment faire ce que vous voulez.

Si vous souhaitez utiliser un fichier node.js brut, vous devez utiliser les modules intégrés http ou https , mais vous devez gérer vous-même une grande partie des détails d'encodage et de diffusion en continu. En outre, veillez à examiner spécifiquement les parties clientes de la documentation, pas le serveur.

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;

J'appelle le service de nœud js en mode angulaire par le routage de l'interface utilisateur et j'ai utilisé la fonction trackRequest dans le contrôleur.

0
Akash Khapare