在使用 javascript 的 azure 函数中如何调用发送请求到端点

vik*_*ram 5 azure azure-functions

在 Azure 函数中如何使用javascript调用 API 。请求是带有标头的 POST。我尝试使用XMLHttpRequest,但我遇到了异常,例如未定义 XMLHttpRequest 。

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);
Run Code Online (Sandbox Code Playgroud)

任何其他方法都可以实现这一点,

Mik*_*kov 5

您可以使用内置http模块(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();
};
Run Code Online (Sandbox Code Playgroud)

您还可以使用任何其他 npm 模块,就像request将其安装到 Function App 中一样。