我正在不斷努力進入Ember,我遇到了一個奇怪的問題:突然間我的商店似乎很笨拙。前一段時間我創建了一個概念驗證項目,一切正常,但現在我的更強大的應用程序(它碰到相同的API端點),我得到了很多不同的行爲。我使用的Django後端與Django REST Framework和rest_framework_ember(https://github.com/ngenworks/rest_framework_ember)以正確的格式獲得json響應(當我用Postman打到端點時,所有格式都很好看)。當訪問在灰燼商店,它的未來與bupkis和使用灰燼調試我得到Ember Store突然不工作
"Uncaught TypeError: Cannot read property 'canCatalogEntriesByType' of undefined "
我正在灰燼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不尊重我設置的「主機」(試圖擊中遠程端點來測試響應中是否有什麼奇怪的東西)......希望這有助於位。
編輯2:進一步,我使Bower使用了ember-data 1.0.0測試版,並且我可以更好地控制主機/命名空間,並且該ember檢查器沒有跳動,但仍然沒有從商店返回。