流星 - 将数据从API传输到服务器到客户端

时间:2014-06-18 17:17:46

标签: javascript node.js meteor

我在Meteor上苦苦挣扎,我有这个应用程序,我想与API客户端连接,它提供了一个秘密API密钥,我不能发布(在客户端)。

问题是当我发送请求时,我得到一个JSON数据,我想将这些数据传递给客户端。

API>服务器呼叫 - >客户(渲染)。

但到目前为止,我还没有找到解决方案,我该怎么办呢。

我对Meteor如何工作有基本的了解,但我对JavaScript / NodeJS等有很好的了解。

真的很感激一点帮助。

谢谢。

1 个答案:

答案 0 :(得分:1)

对于向服务器端call发送method的客户来说,这听起来是一个很好的用例。然后,服务器可以使用密钥发出HTTP请求,并将结果发送回客户端,而不会泄露密钥。请注意,您的服务器方法必须存在于server目录中,以避免无意中将密钥传送到客户端(请参阅Structuring your application)。

客户端

Meteor.call('getApiResult', function(err, result) {
  if (result) {
    return console.log(result);
  }
});

服务器

Meteor.methods({
  getApiResult: function() {
    var secret = 'abc123';
    try {
      var result = HTTP.get('http://example.com/', {params: {key: secret}});
      return result.data;
    } catch (_error) {
      return false;
    }
  }
});