我在商店中定义了以下商店:
Ext.define('EDUX.store.Students', {
extend: 'Ext.data.Store',
alias: 'store.students',
fields: ['fname', 'lname', 'age', 'enrol', 'class','gender'],
proxy: {
type: 'ajax',
method: 'get',
withCredentials: true,
url: global.getBaseUrl() + 'api/api.php?student=view',
reader: {
type: 'json',
rootProperty: 'rows'
}
}
});
CORS按预期工作。但是,当我在viewModel中定义同一个商店时,CORS不起作用。以下是我在viewModel中的代码:
Ext.define('EDUX.view.settings.SettingsModel', {
extend: 'Ext.app.ViewModel',
alias: 'viewmodel.settings',
data: {
name: 'EDUX',
school: 'Programme'
},
stores: {
students: {
fields: ['fname', 'lname', 'age', 'enrol', 'class','gender'], withCredentials: true,
proxy: {url:global.getBaseUrl() + 'api/api.php?student=view',type: 'ajax', reader: {type: 'json', rootProperty: 'rows'}},
autoLoad:true
}}
});
是否有遗漏或可能是错误?
答案 0 :(得分:1)
您的商店定义不一样,如果您使用适当的缩进,您会清楚地看到。您的独立定义:
fields: ['fname', 'lname', 'age', 'enrol', 'class','gender'],
proxy: {
type: 'ajax',
method: 'get',
withCredentials: true,
url: global.getBaseUrl() + 'api/api.php?student=view',
reader: {
type: 'json',
rootProperty: 'rows'
}
}
你的viewmodel定义,美化:
fields: ['fname', 'lname', 'age', 'enrol', 'class','gender'],
withCredentials: true,
proxy: {
url:global.getBaseUrl() + 'api/api.php?student=view',
type: 'ajax',
reader: {
type: 'json',
rootProperty: 'rows'
}
},
autoLoad:true
您一定要检查是否可以在商店或代理商上定义withCredentials
,或者这是否会导致差异; autoLoad
是否会改变任何内容,method:'get'
是否会改变任何内容。