MeteorJs-http调用出错



这是我的第一个Meteor程序,我正在尝试对Github进行http调用。我面临一个错误,如下所示:

调用'getUserInfo'传递结果异常:["click button"]/<http://localhost:3000/helloMeteor.js?823f404b37c246a7d23ae50a10c37969e426b2b8:18:17Meteor.bindEnvironment/<http://localhost:3000/packages/meteor.js?43b7958c1598803e94014f27f5f622b0bddc0aaf:983:17._maybeInvokeCallback@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3860:7.receiveResult@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3880:5._livedata_result@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:4964:7连接/onMessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:3275:7_launchConnection/self.socket.onmessage/<http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2717:11_.forEach@http://localhost:3000/packages/undercore.js?0a80a8623e1b40b5df5a05582f288ddd586eaa18:156:7._启动连接/self.socket.onmessage@http://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:2716:9SockJShttp://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:156:9SockJShttp://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1141:5SockJShttp://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1199:13SockJShttp://localhost:3000/packages/ddp.js?d1840d3ba04c65ffade261f362e26699b7509706:1346:9

这是我的代码:

if (Meteor.isClient) {
// counter starts at 0
Session.setDefault('counter', 0);
Template.hello.helpers({
counter: function () {
return Session.get('counter');
}
});
//This is how you bind event handlers
//Format: eventtype selector
Template.hello.events({
'click button': function () {
// increment the counter when button is clicked
Session.set('counter', Session.get('counter') + 1);
Meteor.call('getUserInfo', 'rutwick', function(err, res) {
console.log(result);
});
}
});
}
if (Meteor.isServer) {
//Meteor.startup(function () {
// code to run on server at startup
Meteor.methods({
getUserInfo: function(userN) {
var github = new GitHub({
version: "3.0.0", // required
timeout: 5000     // optional
});
var result = github.user.getFollowingFromUser({
user: userN
});
return result;
}
});
//});
}

我使用的是Github API JavaScript包装器。即使我尝试使用简单的HTTP进行调用,我仍然会收到错误。

究竟需要做些什么来解决这个问题?

更新这是服务器日志:

调用方法"getUserInfo"ReferenceError时出现异常:未定义GitHubI20150429-19:22:53.064(5.5)?在[object object]。Meteor.methods.getUserInfo(app/helloMeteor.js:29:34)I20150429-19:22:53.064(5.5)?可能在AuditArgumentChecks(packages/ddp/livedata_server.js:1617:1)I20150429-19:22:53.064(5.5)?位于packages/ddp/livedata_server.js:648:1I20150429-19:22:53.064(5.5)?位于[object object]._。extend.withValue(packages/metro/dynamics_nodejs.js:56:1)I20150429-19:22:53.064(5.5)?位于packages/ddp/livedata_server.js:647:1I20150429-19:22:53.064(5.5)?位于[object object]._。extend.withValue(packages/metro/dynamics_nodejs.js:56:1)I20150429-19:22:53.064(5.5)?位于[object object]._。extend.protocol_handlers.method(packages/ddp/livedata_server.js:646:1)I20150429-19:22:53.064(5.5)?位于packages/ddp/livedata_server.js:546:1

好的,我建议你安装这个可爱的包:

meteor add bruz:github-api

根据我链接到的网页上的例子,它应该允许你在服务器端使用Github API

聊天后编辑:到目前为止,此软件包的自述文件已经过时。要像示例中所示那样使用此包,您需要调用this而不是require("github"):

Npm.require('github-api');

那么示例的其余部分应该可以。应该很快提出拉取请求以请求更新。

相关内容

最新更新