【问题标题】:Passing data from vendor API to client side for processing将数据从供应商 API 传递到客户端进行处理
【发布时间】:2017-04-05 21:45:30
【问题描述】:

我有一个沼泽标准 nodejs 和 express 应用程序。然后我有一个第 3 方 API 调用 (https://github.com/agilecrm/nodejs),它有一个集合函数来收集我需要的数据。通常,通过数据库调用,我很好,我通过 res.json(data) 调用数据返回它,并且它在公共文件夹中的可用客户端从 express 中返回,但我似乎真的在为获取数据以返回的第 3 方函数,以便我可以在客户端收集它。

这里是一个api调用的例子:

var AgileCRMManager = require("./agilecrm.js");
var obj = new AgileCRMManager("DOMAIN", "KEY", "EMAIL");
var success = function (data) {
   console.log(data);
};
var error = function (data) {
    console.log(data);
};

obj.contactAPI.getContactsByTagFilter('tester tag',success, error);

这可以很好地控制数据,但我需要在客户端获取它以便我可以在前端使用它,我知道的唯一方法是通过路由,我将如何实现这一点,或者有更好的方法?事实上,数据通过函数中的第二个元素运行,我无法在我尝试过的各种方法中得到响应。

app.get('/get_contacts_by_tag', function (req, res) {   
   obj.contactAPI.getContactsByTagFilter('Confirmed', success, error);
   var success = function (data) {
      res.json(data);
   };
});

任何帮助将不胜感激。

【问题讨论】:

    标签: node.js api express


    【解决方案1】:

    您没有定义错误回调,并且您在 api 调用之后分配了成功回调。

    app.get('/get_contacts_by_tag', function (req, res) {   
       var success = function (data) {
          res.json(data);
       };
       var error = function (data) {
          res.status(500).json(data);
       };
       obj.contactAPI.getContactsByTagFilter('Confirmed', success, error);
    });
    

    【讨论】:

    • 感谢 Musa,它就像一个魅力,实际上让我更清楚了其他几个领域。
    猜你喜欢
    • 2021-12-14
    • 2017-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多