2013-03-25 52 views
1

我有一个允许用户向Twitter提交帖子的应用程序。它使用Ember.Data和Django Rest Framework后端。用户发布消息,发送到服务器,然后提交给Twitter,然后将响应返回给客户端。这一部分一切正常,但我想建立代码来管理请求失败的时间,无论是在我们的服务器还是对Twitter的请求。检测Ember.Data请求失败的时间

我找到了关于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

如果你们正在使用的余烬数据Django的REST框架适配器,你可以验证你在最新的拉请求拉(左右误差特别处理)HTTPS ://github.com/toranb/ember-data-django-rest-adapter/commits/master –

回答

0

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

基本上,你可以重写回调上DS.Model子becameErrorbecameInvalid。还有其他的模型生命周期回调,你可以挂钩。在这里看到:http://emberjs.com/guides/models/model-lifecycle/

+1

Sherwin ...这似乎并不奏效。根据Ember聊天室中的一些窥视,目前可能会被打破。 – commadelimited

+0

对不起,可能是这种情况。我使用的是较旧版本的烬 - 您使用的是哪个版本? –

+0

Ember数据修改11和Ember 1.0.0-rc.1 – commadelimited

0

我用的是这样的:

AdminApp.ApplicationAdapter = DS.RESTAdapter.extend({ 
    namespace: '', 
    host: 'http://localhost/myroomplan_wp/index.php/wp-json', 
    ajaxError: function(jqXHR) { 
     alert(jqXHR.responseText); 
    } 
});