0

这与我之前的问题有关。那里的答案似乎解决了问题。但我实际上是从另一条路线做同样的事情,现在我得到一个错误。应用程序通过 ajax 函数两次。第一次,我得到一个 TypeError。如果我重新加载页面,那么该函数将正确执行。我知道在文档中,它提到必须创建和定义的对象。有人可以给我举一个例子,说明需要如何创建扩展控制器才能在调用函数时执行它。

我收到一个错误:TypeError: this.init is undefined

这是我的路线:

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
    }
4

1 回答 1

0

我有语法错误。传递给ajax调用的data属性的值需要是self.contactsToAdd.toArray()

于 2013-03-29T06:03:34.507 回答