我正在尝试使用Extjs从Django Rest API获取数据。我的数据代表一棵与自身具有一对一关系的树。我有这个模型:
Ext.define('mypackages.model.MyData', {
extend: 'Ext.data.Model',
idProperty: 'myid',
fields: [
{
name: 'name',
type: 'string',
mapping: 'name'
},
{
name: 'family_name',
type: 'string',
mapping: 'family_name'
}
]
});
这是我的商店:
Ext.define('mypackages.store.MyData', {
extend: 'Ext.data.TreeStore',
alias: 'store.files',
model: 'mypackages.model.MyData',
autoLoad: true,
proxy: {
type: "rest",
url: "/myurl/",
reader: {
type: 'json'
},
actionMethods: {
read: 'GET'
},
extraParamas:{
'myid': ''
}
},
constructor: function (config) {
config = Ext.apply({
root: Ext.clone(this.rootData)
}, config);
this.callParent([config]);
}
});
该api可以按预期工作,但是,当我运行它并且进入浏览器的网络检查器时,由于以下原因,我可以看到404:
http://127.0.0.1:8000/myurl/root/?_dc=1553095552422
如何从请求网址中删除root/?_dc=1553095552422
,或者我想在这里丢失什么,以便发送正确的请求网址?
答案 0 :(得分:1)
1-删除代理对象中的url属性;
2-将类型:“休息”更改为类型:“ ajax”;
3-像这样在代理对象内添加api属性:
api: {
read: 'GETURL',
create: 'POSTURL',
update: 'PUTURL',
destroy: 'DELETEURL'
}