jquery + springboot,CORS问题

时间:2018-02-02 07:41:37

标签: javascript jquery ajax spring-boot cors

我的前端页面是由jquery 3.2.1开发的,由npm像这样运行

"start": "http-server -a localhost -p 8000 -P http://localhost:8080 -c-1 --cors ./app"

我的http请求示例:

$(function(){

        $.ajax({
            url: 'http://localhost:8080/api/partner/all',
            type:'get',
            dataType:'text',
            success:function(data){
                alert(data);
            }
        });
    }
)

我得到了cors错误,就像这样

否'访问控制 - 允许 - 来源'标头出现在请求的资源上。起源' http://localhost:8000'因此不允许访问。响应的HTTP状态代码为403。

然后我添加了cors支持的过滤器

response.setHeader("Access-Control-Allow-Origin", "*");
        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "1728000");
        response.setHeader("Access-Control-Allow-Credentials", "true");
        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");

现在只有一个错误:

获取http://localhost:8080/api/partner/all 403()

如何解决此问题?

1 个答案:

答案 0 :(得分:-1)

Access-Control-Allow-Origin: *Access-Control-Allow-Credentials: true不兼容。

如果您需要传递Access-Control-Allow-Credentials: true(因为您需要Cookie /身份验证支持),您必须指定Access-Control-Allow-Origin: {value-of-Origin-request-header}(在您的示例中,您可以将其硬编码为Access-Control-Allow-Origin: http://localhost:8000)。