我有一个应用程序,允许用户向Twitter提交帖子。它使用带有Django Rest Framework后端的Ember.Data。用户发布消息,然后发送到服务器,然后提交到Twitter,然后将响应返回给客户端。这一部分一切正常但我想构建代码来管理请求失败的时间,无论是在我们的服务器上还是在Twitter的请求上。
我在模型的isError state上找到了文档,但我不确定这是否是我正在寻找的正确属性。
以下是我目前正在实施的代码:
saveMessage: function(text, postingWindow){
var acct = Social.Account.find(this.get("id")),
msg = Social.store.createRecord(
Social.Message,
{
text: text,
account: acct,
created: new Date()
}
);
acct.get("messages").addObject(msg);
Social.store.commit();
}
基本上我想要完成的是阻止在UI中显示消息,直到我知道我从用户那里获得了成功。但另一方面,如果我能立即得到错误状态,我不想永远等待。
答案 0 :(得分:0)
在这里查看我的答案:How should errors be handled when using the Ember.js Data RESTAdapter?
基本上,您可以覆盖DS.Model子类上的回调becameError
和becameInvalid
。您可以使用其他模型生命周期回调。见这里:http://emberjs.com/guides/models/model-lifecycle/
答案 1 :(得分:0)
我使用这样的东西:
AdminApp.ApplicationAdapter = DS.RESTAdapter.extend({
namespace: '',
host: 'http://localhost/myroomplan_wp/index.php/wp-json',
ajaxError: function(jqXHR) {
alert(jqXHR.responseText);
}
});