Javascript 如何从Azure移动应用程序服务调用HTTP(Azure功能)?

Javascript 如何从Azure移动应用程序服务调用HTTP(Azure功能)?,javascript,azure,azure-mobile-services,azure-functions,Javascript,Azure,Azure Mobile Services,Azure Functions,我已经创建了简单azure函数(Http+C#),它返回简单测试。我想将azure函数的响应返回到azure移动服务。在我从移动服务调用存储过程之前。现在我尝试调用该azure函数(节点Js)以从azure函数获取响应。下面是Azure移动服务代码和我的简单Azure功能脚本 module.exports={ “post”:函数(req、res、next){ log(“已启动的应用程序正在运行”); var http=require(“http”); 变量选项={ 主机:“.azureweb

我已经创建了简单azure函数(Http+C#),它返回简单测试。我想将azure函数的响应返回到azure移动服务。在我从移动服务调用存储过程之前。现在我尝试调用该azure函数(节点Js)以从azure函数获取响应。下面是Azure移动服务代码和我的简单Azure功能脚本


module.exports={
“post”:函数(req、res、next){
log(“已启动的应用程序正在运行”);
var http=require(“http”);
变量选项={
主机:“.azurewebsites.net”,
路径:“api/?代码=”,
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”,
“内容长度”:{name:“测试应用程序”}
}    
};
请求(选项、函数(响应){
var str=“”;
关于(“数据”,函数(块){
str+=chunk;
res.json(响应);
log(“发生了什么事”);
});
响应。on(“结束”,函数(){
console.log(str);
res.json(响应);
});          
});
console.log(“***在正文***中发送名称和地址”);
}

};您应该使用
请求写入(数据)
发送请求正文,而不是使用
内容长度
。有关如何执行此操作的示例,请参见

您的代码应该如下所示:

module.exports = {
  "post": function (req, res, next) {       

    var http = require("http");

    var post_data = JSON.stringify({ "name" : "Testing application"});

    var options = {
      host: "<appname>.azurewebsites.net",         
      path: "/api/<functionname>?code=<APIkey>", // don't forget to add '/' before path string 
      method: "POST",
      headers : {
        "Content-Type":"application/json",
        "Content-Length": Buffer.byteLength(post_data)
      }    
    };

    var requset = http.request(options, function(response) {
      var str = "";
      response.on("data", function (chunk) {
        str += chunk;
      });

      response.on("end", function () {
        res.json(str);           
      });          
    });

    requset.write(post_data);
    requset.end();
    requset.on('error', function(e) {
      console.error(e);
    });

  }
}; 
module.exports={
“post”:函数(req、res、next){
var http=require(“http”);
var post_data=JSON.stringify({“name”:“Testing application”});
变量选项={
主机:“.azurewebsites.net”,
路径:“/api/?code=”,//不要忘记在路径字符串之前添加“/”
方法:“张贴”,
标题:{
“内容类型”:“应用程序/json”,
“内容长度”:缓冲区。字节长度(post_数据)
}    
};
var requset=http.request(选项、函数(响应){
var str=“”;
关于(“数据”,函数(块){
str+=chunk;
});
响应。on(“结束”,函数(){
res.json(str);
});          
});
需求写入(post_数据);
请求结束();
需求开启(“错误”,功能(e){
控制台错误(e);
});
}
}; 

您当前遇到的确切问题是什么?运行移动服务时出现内部服务器错误。我试图解决问题,但不知道确切的解决方案。我尝试过,但没有从移动服务API中获得价值。出现意外的连接失败错误。