【问题标题】:Ext js 6.2 CORS not working for a store declared in viewModelExt js 6.2 CORS 不适用于 viewModel 中声明的商店
【发布时间】:2017-11-29 05:18:37
【问题描述】:

我在商店中定义了以下商店:

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
        }}
});

是否缺少某些东西或者可能是错误?

【问题讨论】:

  • 当 CORS 阻止请求时,您会收到一条错误消息,说明它失败的原因。由于我们看不到您在服务器端执行的操作,因此我们必须猜测,除非您可以提供错误消息。

标签: javascript extjs cors store extjs6


【解决方案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'
    }
}

您的视图模型定义,美化:

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 是否可以在 store 或 proxy 上定义,或者这是否会导致差异; autoLoad 是否有任何改变,method:'get' 是否有任何改变。

【讨论】:

  • 嗨,你是对的。在代理内部移动 withCredentials: true 解决了这个问题。谢谢大家的反馈。
猜你喜欢
  • 2014-02-03
  • 2017-10-23
  • 2012-12-02
  • 2013-12-22
  • 2013-09-23
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 2015-10-13
相关资源
最近更新 更多