In azure functions using javascript how to call se

2020-06-04 06:05发布

问题:

In Azure function how to call an API using javascript. The request is POST with the header.I tried to use XMLHttpRequest, but i got exception like this XMLHttpRequest is not defined.

var client = new XMLHttpRequest();
    var authentication = 'Bearer ...'
    var url = "http://example.com";
    var data = '{.........}';

    client.open("POST", url, true);
    client.setRequestHeader('Authorization',authentication); 
    client.setRequestHeader('Content-Type', 'application/json');

    client.send(data);

Any other method is there to achive this,

回答1:

You can do it with a built-in http module (standard one for node.js):

var http = require('http');

module.exports= function (context) {
  context.log('JavaScript HTTP trigger function processed a request.');

  var options = {
      host: 'example.com',
      port: '80',
      path: '/test',
      method: 'POST'
  };

  // Set up the request
  var req = http.request(options, (res) => {
    var body = "";

    res.on("data", (chunk) => {
      body += chunk;
    });

    res.on("end", () => {
      context.res = body;
      context.done();
    });
  }).on("error", (error) => {
    context.log('error');
    context.res = {
      status: 500,
      body: error
    };
    context.done();
  });
  req.end();
};

You can also use any other npm module like request if you install it into your Function App.