Ember,JSON和IE8。无法显示数据

时间:2014-12-03 19:12:53

标签: ember.js internet-explorer-8

我使用RESTAdapter连接到API。这似乎在IE9及以上版本中运行良好。出于某种原因,当我试图在IE8中查看数据时,我在处理路由时遇到了错误:campaign.index"没有别的。

我用来创建Ember应用程序的软件版本是:

Ember      : 1.8.1 
Ember Data : 1.0.0-beta.8.2a68c63a 
Handlebars : 1.3.0 
jQuery     : 1.10.2 

我尝试使用bower更改版本,因此它们仍然兼容,但我仍然收到有关索引的错误,但没有解释。

我的路线是:

TM.CampaignsIndexRoute = Ember.Route.extend({
    model: function(){      
        return this.store.find("campaign")
    } 
});

我的模型属性被定义为:

TM.Campaign = DS.Model.extend({
    campaign_name: DS.attr(),
    campaign_code: DS.attr(),
    desc: DS.attr(),
    effective_from: DS.attr(),
    products: DS.attr(),
    type: DS.attr()
});

JSON设置为:

{
   "campaigns":[
      {
         "id":"1",
         "campaign_name":"Necessitatibus et.",
         "campaign_code":"YQADM",
         "desc":"1",
         "effective_from":"2014-11-24 14:33:07",
         "products":"Loans",
         "type":"Gold"
      },
      {
         "id":"2",
         "campaign_name":"Voluptatem sequi adipisci necessitatibus.",
         "campaign_code":"VFYGTO",
         "desc":"1",
         "effective_from":"2014-11-24 14:33:07",
         "products":"Loans",
         "type":"Gold"
      }
   ],
   "meta":{
      "per_page":10,
      "total":30
   }
}

为了更好地了解它在IE 8中失败的地方,我打开了LOG_TRANSITIONS_INTERNAL,它在尝试调用afterModel钩子时失败

Attempting transition to campaigns 
Transition #1: campaigns: calling beforeModel hook 
Transition #1: campaigns: calling deserialize hook 
Transition #1: campaigns: calling afterModel hook 
Transition #1: campaigns.index: calling beforeModel hook 
Transition #1: campaigns.index: calling deserialize hook 
Error while processing route: campaigns.index 
Transition #1: campaigns.index: transition was aborted  

我没有收到任何有关Object.create的错误,因为我正在使用垫片来解决这个问题,而且似乎工作正常。

我考虑过阅读有关创建Ember qunit测试以获取更多信息的内容。这是否是正确的方向,或者我是否缺少IE 8的配置?

不幸的是,我必须构建这个应用程序以支持IE8,并且我喜欢使用Ember,所以我希望我能坚持使用它。

1 个答案:

答案 0 :(得分:0)

所以我再次开始并剥离了我的每个插件。我正在使用Laravel和Ember来创建我的应用程序。 Laravel Debug栏阻止模型出现在IE8中。

感谢您的努力尼古拉斯。非常感谢。