Javascript Ext js 6.2 CORS不适用于viewModel中声明的存储
我在商店中定义了以下商店:Javascript Ext js 6.2 CORS不适用于viewModel中声明的存储,javascript,extjs,cors,store,extjs6,Javascript,Extjs,Cors,Store,Extjs6,我在商店中定义了以下商店: Ext.define('EDUX.store.Students', { extend: 'Ext.data.Store', alias: 'store.students', fields: ['fname', 'lname', 'age', 'enrol', 'class','gender'], proxy: { type: 'ajax', method: 'get', withCrede
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
}}
});
是否有我遗漏的东西或可能是错误?您的存储定义不一样,如果使用正确的缩进,您会清楚地看到这一点。您的独立定义:
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
是否更改任何内容,方法:'get'是否更改任何内容。当CORS阻止请求时,您会收到一条错误消息,说明其失败的原因。因为我们看不到你在服务器端做什么,除非你能提供错误消息,否则我们只能猜测。嗨,你说得对。在代理中使用凭据移动:true解决了问题。谢谢大家的反馈。