Okta AJAX获取错误-ExtJs中没有'Access-Control-Allow-Origin'标头

时间:2018-07-30 14:01:54

标签: extjs extjs4.1 okta okta-api

Ext.Ajax.request({
        url: 'https://dev-516799.oktapreview.com/api/v1/users?limit=200',
        method: 'GET',
        Accept: 'application/json',
        'Access-Control-Allow-Origin': '*',
        headers: {
            'Authorization': 'SSWS Token' 
            'Content-Type': 'application/json',
            'Access-Control-Allow-Origin': '*',
            //'Access-Control-Allow-Methods': 'GET'
        },
        scope: this,
        cleanup: function () {
            view.setLoading(false);
        },
        success: function (response) {
}

但是我收到错误消息,因为“对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头”

1 个答案:

答案 0 :(得分:1)

Access-control: Allow-Origin标头是一项安全功能,必须在服务器的回复中而不是在对服务器的请求中启用。

示例:ExtJS - Adding headers to AJAX store

就您而言,您由Okta摆布。 They have some APIs that support CORS if you provide them with the allowed URLs,以及其他没有的。除非将这些API标记为启用了CORS,并且您已将URL添加到Okta管理面板中的启用CORS的URL列表中,否则您无法直接从JavaScript代码访问Okta API。如果您需要未标记的API或从任意URL进行访问,则可能必须在自己的服务器后端中创建一个包装器,以将请求从前端转发到Okta服务器。