首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase云函数发出POST请求

Firebase云函数发出POST请求
EN

Stack Overflow用户
提问于 2017-05-11 14:13:25
回答 2查看 10.3K关注 0票数 3

我正在使用firebase数据库,我想要一个云函数(触发器)来与我拥有的REST node.js REST服务进行通信。

触发器已经创建,但现在我希望云函数调用托管机器中的外部webservice。

我进口了jQuery。但是它说$.post不是一个函数。我认为这是因为苗条的版本是以某种方式安装的(不是这样的)。然后,我尝试在JavaScript中使用XMLHttpRequest直接完成它,该函数还说

ReferenceError: XMLHttpRequest未在/user_code/index.js:91:19处process._tickDomainCallback处定义(内部/process/next_tick.js:129:7)

您是否知道如何在防火墙云功能上发出POST请求?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-05-11 17:43:21

你必须在一个付费的消防计划(可能的火焰),以便张贴到一个外部网站。https://stackoverflow.com/a/42775841/6480950

可以使用npm模块的请求和请求承诺。

基本测试:https://stackoverflow.com/a/43645498/6480950

票数 2
EN

Stack Overflow用户

发布于 2017-05-11 17:30:03

Firebase函数是一个Node.js环境。但是jQuery是一个客户端javascript库。有一些服务器端的jQuery构建(Cheerio,nodeQuery),参见:Can I use jQuery with Node.js?

但我会的。。。

尝试使用节点模块xmlhttprequest。让我们按照客户端JavaScript中的方式编写原始请求。您需要在您的package.json文件(即:

代码语言:javascript
复制
"dependencies": {
    "xmlhttprequest": "^1.8.0"
}

然后在你的职能中:

代码语言:javascript
复制
var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;

var request = new XMLHttpRequest();
request.addEventListener('load', doSomethingWithDataFromResponse);
request.open("GET","http://urlToMyServer");  
request.send();

function doSomethingWithDataFromResponse() {
  var data = this.responseText;
  //etc.
}

对于一篇类似于:

代码语言:javascript
复制
var request = new XMLHttpRequest();
var params = "word=foo"; //or stringify some JSON
request.addEventListener('load', doSomethingWithDataFromResponse);
request.open("POST","http://urlToMyServer"); 
request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); // or application/json etc.
request.send(params);

这就是最近我如何处理从节点服务器到其他第三方服务器的请求。我还没有机会尝试使用Firebase,但是所有的文档似乎都表明它应该能工作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43917926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档