2
所以我有一个Rails API和一个Ember应用程序。目前,我的Ember有一个login.hbs
模板和一个login.js
控制器。EmberJS使用ember-ajax发送HTTP Post请求到Rails API服务器
我做了ember install ember-ajax
(https://github.com/ember-cli/ember-ajax)。
在进入一个电子邮件地址和密码,我上的登录按钮,叫我login.js行动loginClicked()
点击我的登录控制器我有以下几点:
// login.js controller
import Ember from 'ember';
export default Ember.Controller.extend({
email: '',
password: '',
actions: {
loginClicked() {
// alert("email: " + this.get('email') + "\npassword: " + this.get('password'));
let params = {
email: this.get('email'),
password: this.get('password')
};
post('/authenticate', {
params: params
});
}
}
});
在我login.js
路由处理,我已经注入了烬 - ajax服务:
// login.js route handler
import Ember from 'ember';
export default Ember.Route.extend({
ajax: Ember.inject.service()
});
问题是,我的Mac终端控制台输出错误说:
controllers/login.js: line 16, col 7, 'post' is not defined.
我也尝试将ember-ajax服务注入到控制器中,但它没有区别。
我做错了什么?
是的,我刚刚意识到我需要键入'this.get('ajax')。post(...)'而不是'post(...)':D – Zhang