Этот вопрос достаточно изменился с его ancestor, что было предложено задать новый вопрос.Почему Meteor.call() не распознается?
Когда я называю "insertPerson" метод, который затем вызывает мой метод "getTextAddrAsEmailAddr", я вижу, в консоли, мои две отладочные console.log сообщ:
I20151022-07:59:07.240(-7)? insertPerson reached
I20151022-07:59:07.365(-7)? phone is 0871632810
.. .followed этим исключением:
I20151022-07:59:07.365(-7)? Exception while invoking method 'insertPerson' TypeE
rror: Cannot call method 'call' of undefined
I20151022-07:59:07.365(-7)? at [object Object].Meteor.methods.getTextAddrAsE
mailAddr (both/methods.js:37:28)
ПРИМЕЧАНИЕ: Строка 37 в methods.js является:
return Meteor.http.call("GET", restcall);
Для контекста, весь файл methods.js является:
Meteor.methods({
'insertPerson': function(firstname, lastname, streetaddr1, streetaddr2, placename, stateorprov, zipcode, emailaddr, phone, notes) {
console.log('insertPerson reached'); // TODO: Remove before deploying
check(firstname, String);
. . .
console.log('phone is ' + phone);
var textAddrAsEmailAddr = Meteor.call('getTextAddrAsEmailAddr', phone);
console.log('textAddrAsEmailAddr is ' + textAddrAsEmailAddr);
People.insert({
per_firstname: firstname,
per_lastname: lastname,
per_streetaddr1: streetaddr1,
per_streetaddr2: streetaddr2,
per_placename: placename,
per_stateorprov: stateorprov,
per_zipcode: zipcode,
per_emailaddr: emailaddr,
per_phone: phone,
per_textaddrasemailaddr: phone,
per_notes: notes,
per_createdBy: this.userId
});
},
'getTextAddrAsEmailAddr': function(phone) {
this.unblock();
var restcall = 'http://www.reminder.com/phone.check.php?number=' + phone;
return Meteor.http.call("GET", restcall);
}
});
Что-то случилось с моим Meteor.http.call() вызов?
Да, мне нужно было сделать обе эти вещи (удалите лишние «.http» и добавьте http-пакет. –