我的前端页面是由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()
如何解决此问题?
答案 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
)。