Hed*_*dge 2 ember.js ember-data ember-cli
我的模型通过Ember默认使用服务器RESTAdapter.
我刚刚/mail在我的服务器上创建了一个自定义端点,如果提供了名称,有效的电子邮件地址和文本,它会发送一封电子邮件.
如何让Ember发送自定义的后期请求?是否可以没有Ember.ajax?
就我个人而言,我不会使用Ember-Data来处理这种情况; 我通常只使用Ember-Data来处理我的持久模型.如果你试图将Ember-Data用于其他AJAX调用,它就会变得一团糟.请记住,Ember-Data的工作是管理持久化数据,以及使用AJAX调用可以实现的一种方式.这并不意味着任何需要AJAX调用的东西都应该用Ember-Data来处理.
我有同样的问题,我写了一个实用程序模块,它具有我所有非模型AJAX的功能.这使得交换测试变得非常容易.这是一个小例子:
// utils/ajax.js
export function sendHelpEmail(comment) {
return new Promise((resolve, reject) => {
$.ajax({
type: 'POST',
url: '/api/contact_us',
contentType: 'application/json',
data: JSON.stringify({ comment }),
processData: false,
statusCode: {
200: () => Em.run(null, resolve),
500: () => Em.run(null, reject)
}
});
});
}
Run Code Online (Sandbox Code Playgroud)
然后,我可以在我的控制器中做这样的事情:
import { sendHelpEmail} from '../utils/ajax.js';
export default Em.Controller.extend({
actions: {
sendEmail() {
sendHelpEmail(this.get('comment'));
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1546 次 |
| 最近记录: |