检测Ember.Data请求何时失败

时间:2013-03-25 19:58:54

标签: ember.js ember-data

我有一个应用程序,允许用户向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中显示消息,直到我知道我从用户那里获得了成功。但另一方面,如果我能立即得到错误状态,我不想永远等待。

2 个答案:

答案 0 :(得分:0)

在这里查看我的答案:How should errors be handled when using the Ember.js Data RESTAdapter?

基本上,您可以覆盖DS.Model子类上的回调becameErrorbecameInvalid。您可以使用其他模型生命周期回调。见这里: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);
    }
});