这与我之前的问题有关。那里的答案似乎解决了问题。但我实际上是从另一条路线做同样的事情,现在我得到一个错误。应用程序通过 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
}