我一直在努力学习Ember,我有一个问题。
在我的商店里,我从.json获取数据,如下所示。我试过没有buildUrl函数,但无法加载json文件,然后在SO上找到了这个解决方案。
CocktailApp.Store = DS.Store.extend({
revision: 12,
adapter: DS.RESTAdapter.extend({
bulkCommit: false,
url: "http://localhost:8888",
buildURL: function(record, suffix) {
var s = this._super(record, suffix);
return s + ".json";
}
})
});
现在我的问题是:当我提交机会时(通过按添加到favs或从favs中删除)RESTAdapter在PUT请求结束时添加“.json”。请参阅以下代码和屏幕截图
CocktailApp.CocktailController = Ember.ObjectController.extend({
addToFav: function () {
this.set('fav',true);
this.get('store').commit();
},
removeFromFav: function () {
this.set('fav',false);
this.get('store').commit();
}
});
我认为这就是为什么我的PUT请求无法处理的原因。但是,如果我删除了builtURL函数,根本没有加载json。我该如何解决这个问题? 感谢
答案 0 :(得分:0)
如果API端点网址末尾不需要.json
,请从buildURL
功能中删除该行。我的猜测是你得到的示例代码是使用rails api上的ruby,或类似的东西。
请记住,当您向网址发送GET,PUT,POST或DELETE时,该网址实际上必须是真正的端点。你不能只是添加无关的东西,让它仍然有用。