Подтвердить что ты не робот

Вызов веб-службы с помощью nodejs

Я новичок в 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);
  }
});

Любые полезные ссылки будут наиболее ценными.

4b9b3361

Ответ 1

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 в сам запрос и завершаем запрос.

Ответ 2

Самый простой способ - использовать Request module. См. Страницу там для многих примеров, показывающих, как делать то, что вы хотите.

Если вы хотите использовать raw node.js, вам нужно будет использовать http или https встроенные модули, но вам придется обрабатывать множество деталей кодирования и потоковой передачи самостоятельно. Кроме того, обязательно посмотрите на клиентские части документации, а не на сервер.

Ответ 3

//--------- Tracking request service                  
factory.trackRequest = function (payload) {
    return $http({
        method: 'POST',
        **url: 'https://uat-userauthentication.bdt.kpit.com/'+ 
 'employee/trackRequestStatus'**,
        data: payload
    });
 };

 return factory;

Я называю службу js узла в angular маршрутизацией пользовательского интерфейса, и я использовал функцию trackRequest в контроллере.