2013-03-29 4 views
0

Это связано с моим previous question. Ответ там, казалось, решил проблему. Но я буквально делаю то же самое с другого маршрута, и теперь я получаю сообщение об ошибке. Приложение дважды переходит через функцию ajax. В первый раз я получаю TypeError. Если я перезагружу страницу, функция будет выполнена правильно. Я знаю в документах, он упоминает, что нужно создать и объект, который определен. Может ли кто-нибудь указать мне пример того, как должен быть создан расширенный контроллер для выполнения функции при ее вызове.Ember js: TypeError this.init is undefined

Я получаю сообщение об ошибке: TypeError: this.init неопределен

Вот мой маршрут:

App.RegisterPickRoute = Em.Route.extend({ 
redirect: function() { 
    var registerTestController=this.controllerFor('registerTest') 
    var isRegistered=registerTestController.registerContacts(); 
    if(!isRegistered) 
     this.transitionTo('registerTest'); 
    else 
     alert('holla') 
    } 

}); 

Вот моя функция в мой контроллер:

registerContacts: function(){ 
     var isRegistered=false; 
     var self=this 
     self.contactsToAdd=self.get('contactList').filterProperty('isSelected', true); 
     $.ajax({ 
     type: 'POST', 
     cache: false, 
     url: contextPath + 'user/regTest', 
     data:{contactList:self.contactsToAdd}, 
     success: function(data) { 
       isRegistered=true; 
     }, 
     error: function(jqXHR, textStatus, errorThrown) { 
      isRegistered=false; 
     }, 
     async: false 
    }); 
    return isRegistered 
    } 

ответ

0

I имеют синтаксическую ошибку. Значение, переданное атрибуту data для вызова ajax, должно быть self.contactsToAdd.toArray()

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