CORS请求期间的JHipster 3错误

Posted

技术标签:

【中文标题】CORS请求期间的JHipster 3错误【英文标题】:JHipster 3 error during CORS request 【发布时间】:2016-08-09 15:59:12 【问题描述】:

目前我正在开发 JHipster 3(从 JHipster 2 迁移)。 RESFTful 请求我的一些模块来获取 JSON 数据。

这里是 JHipster 2 中的示例代码:-->(工作)

'use strict';

angular.module('newsletterApp')
    .factory('UserBirthday', function ($resource) 
        return $resource('http://localhost:8081/BirthDay/Rest/WebService/GetFeeds', , 
                'query': method: 'GET', isArray: true,
                'get': 
                    method: 'GET',
                    isArray: true,
                    transformResponse: function (data) 
                        data = angular.fromJson(data);
                        return data;
                    
                
            );
        );

对于 Jhipster 3:

    (function()
        'use strict';

        angular
            .module('newsletterApp')
            .factory('EmployeeBirthday', EmployeeBirthday);

        EmployeeBirthday.$inject = ['$resource'];

        function EmployeeBirthday($resource)
            return $resource('http://localhost:8081/BirthDay/Rest/WebService/GetFeeds', , 
                'query': method: 'GET', isArray: true,
                'get': 
                    method: 'GET',
                    isArray: true,
                    transformResponse: function (data) 
                        data = angular.fromJson(data);
                        return data;
                    
                
            );
         )();

我得到了错误:

XMLHttpRequest cannot load http://localhost:8081/BirthDay/Rest/WebService/GetFeeds. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:9000' is therefore not allowed access.

在 application.yml 中也已经为 CORS 启用

cors: #By default CORS are not enabled. Uncomment to enable.
        allowed-origins: "*"
        allowed-methods: GET, PUT, POST, DELETE, OPTIONS
        allowed-headers: "*"
        exposed-headers:
        allow-credentials: true
        max-age: 1800

有解决这个问题的建议吗?

【问题讨论】:

【参考方案1】:

allowed-origin 必须指定(例如http://localhost:9000)并且不能是通配符 * 与 allow-credentials: true 组合。

【讨论】:

以上是关于CORS请求期间的JHipster 3错误的主要内容,如果未能解决你的问题,请参考以下文章

放置请求期间的 ASP Net Core CORS 错误

JHipster:CORS 在表单登录时失败(实际请求,不是飞行前)

jHipster Undertow 请求失败 HttpServerExchange

在 ReactJS 中获取 onComponentDidMount 期间出现 CORS 错误

错误:laravel/VueJS ajax 请求中的 CORS

从我的本地主机客户端发出请求而没有 cors 错误