【问题标题】:Ember Store suddenly not workingEmber 商店突然无法正常工作
【发布时间】:2014-11-09 13:59:59
【问题描述】:

我正在向 Ember 进一步推进,但遇到了一个奇怪的问题:突然间,我的 Store 似乎出现了问题。不久前我创建了一个概念验证项目,一切正常,但现在在我更强大的应用程序(它访问相同的 api 端点)上,我得到了很多不同的行为。我正在使用带有 Django REST Framework 和 rest_framework_ember (https://github.com/ngenworks/rest_framework_ember) 的 Django 后端来获取正确格式的 json 响应(当我使用 Postman 访问端点时,所有这些格式看起来都很棒)。当访问 Ember 中的商店时,它提出了 bupkis 并使用了 Ember 调试器

"Uncaught TypeError: Cannot read property 'canCatalogEntriesByType' of undefined " 

我正在运行 Ember 1.7.0 和 EmberData 0.0.14,这是我的 app.js:

App = Ember.Application.create({
    LOG_TRANSITIONS: true,
    LOG_TRANSITIONS_INTERNAL: true
});

api_location = 'http://localhost:8000';
api_namespace = 'api/v1';


App.ApplicationAdapter = DS.RESTAdapter.extend({
    host: api_location,
    namespace: api_namespace,
    headers: {
        'Content-Type': 'application/json',
        'request-source': 'ember'
    },

    ajaxError: function(jqXHR) {
        var error = this._super(jqXHR);
        if (jqXHR && jqXHR.status === 400) {
            var response = Ember.$.parseJSON(jqXHR.responseText),
            errors = {},
            keys = Ember.keys(response);
            if (keys.length === 1) {
                var jsonErrors = response[keys[0]];
                Ember.EnumerableUtils.forEach(Ember.keys(jsonErrors), function(key) {
                    errors[key] = jsonErrors[key];
                });
            }
            return new DS.InvalidError(errors);
        } else {
            return error;
        }
    }

});

App.ApplicationSerializer = DS.RESTSerializer.extend();

App.Store = DS.Store.extend({
    adapter : App.ApplicationAdapter.create()
});

我已经为此苦苦挣扎了几天,没有任何进展,所以任何关于这个主题的帮助都会非常有帮助。提前致谢!

编辑:我还注意到,restadapter 不尊重我设置的“主机”(尝试访问远程端点以测试响应是否奇怪)......希望这会有所帮助.

Edit2:更进一步,我让 Bower 使用了 ember-data 1.0.0 beta,我可以更好地控制主机/命名空间,并且 ember 检查器没有崩溃,但仍然没有从商店返回。

【问题讨论】:

    标签: django ember.js ember-data django-rest-framework


    【解决方案1】:

    在将应用程序从 Ember 1.5 升级到 1.8 后,我遇到了同样的问题。

    我最终找到了这个 GitHub Issue,这导致我将 ember-data 更新为最新的 (v1.0.0-beta.11),这为我解决了这个问题。

    “数据”选项卡现在再次显示在 Ember Inspector 中,并且不再显示 Uncaught TypeError: Cannot read property 'canCatalogEntriesByType' of undefined 错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 2018-02-23
      相关资源
      最近更新 更多