2015-12-20 4 views
0

Я новичок в Meteor и имею $ meteor.call, где callback никогда не вызывается, несмотря на то, что я вижу возвращаемое значение в инспекторе узла узла для Meteor.method ,

клиент

$meteor.call('login', { url: creds.url, username: creds.user, password: creds.password }, function (err, response) { 
    if (err) { 
    console.log('login failed'); 
    } else { 
    console.log('login succeeded: ' + response); 
    Session.set('ticket', response); 
    } 
}); 

сервер

login: function (data) { 
    this.unblock(); 

    var loginSync = Meteor.makeAsync(HTTP.post); // using workaround for wrapAsync issue #2774 
    var postResults = loginSync(url + '/ticket', options); 
    console.log('return, status: ' + postResults.data.statusCode + ', ' + postResults.data.content); 
    return postResults; 

ответ

1

Meteor.call не $ в начале.

От Docs метеора:

Meteor.call(name, [arg1, arg2...], [asyncCallback]) 

Таким образом, ваш вызов должен выглядеть как:

Meteor.call('methodName', var1, var2, function(error, result){}); 

Кроме того, вы уверены, что вы передаете данные на стороне сервера правильно? Я не вижу ваших переменных/остальной части вашего кода, если их больше.

+0

Проблема была $. Не знаю, где я это взял. Благодаря! – SeattleStephens

Смежные вопросы