如何使用meteor进行API调用

iJa*_*ade 44 javascript api twitter json meteor

好的,这是twitter API,

http://search.twitter.com/search.atom?q=perkytweets
Run Code Online (Sandbox Code Playgroud)

任何人都可以给我任何关于如何使用Meteor调用此API或链接的提示

更新::

这是我尝试的代码,但它没有显示任何响应

if (Meteor.isClient) {
    Template.hello.greeting = function () {
        return "Welcome to HelloWorld";
    };

    Template.hello.events({
        'click input' : function () {
            checkTwitter();
        }
    });

    Meteor.methods({checkTwitter: function () {
        this.unblock();
        var result = Meteor.http.call("GET", "http://search.twitter.com/search.atom?q=perkytweets");
        alert(result.statusCode);
    }});
}

if (Meteor.isServer) {
    Meteor.startup(function () {
    });
}
Run Code Online (Sandbox Code Playgroud)

Tim*_*Dog 57

您要定义checkTwitter Meteor.method 内部客户范围的块.因为您无法从客户端调用跨域(除非使用jsonp),您必须将此块放在Meteor.isServer块中.

另外,根据文档,Meteor.methodcheckTwitter函数的客户端只是服务器端方法的存根.您需要查看文档,以获得有关服务器端和客户端如何Meteor.methods协同工作的完整说明.

这是http调用的一个工作示例:

if (Meteor.isServer) {
    Meteor.methods({
        checkTwitter: function () {
            this.unblock();
            return Meteor.http.call("GET", "http://search.twitter.com/search.json?q=perkytweets");
        }
    });
}

//invoke the server method
if (Meteor.isClient) {
    Meteor.call("checkTwitter", function(error, results) {
        console.log(results.content); //results.data should be a JSON object
    });
}
Run Code Online (Sandbox Code Playgroud)


小智 29

这可能看起来很简陋 - 但默认情况下,您的Meteor项目中不会出现HTTP程序包,并要求您单独安装它.

在命令行上:

  1. Just Meteor:
    流星添加http

  2. 陨石:
    mrt添加http

Meteor HTTP Docs


小智 6

客户端上的Meteor.http.get是异步的,因此您需要提供回调函数:

Meteor.http.call("GET",url,function(error,result){
     console.log(result.statusCode);
});
Run Code Online (Sandbox Code Playgroud)