XmlHttpRequest 请求的资源上没有 'Access-Control-Allow-Origin' header - Chrome 浏览器
XmlHttpRequest No 'Access-Control-Allow-Origin' header is present on the requested resource - Chrome browser
我已经为 return json object 创建了一个 java 服务。它在邮递员中运行良好,但是当我使用 chrome 浏览器尝试时,我遇到了以下错误
CORS policy issue
代码:
var xhttp = new XMLHttpRequest();
var url = 'http://localhost:8030/information/agent111';
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this)
}
};
xhttp.open("GET", url, true);
xhttp.setRequestHeader('Content-Type', 'application/json' );
xhttp.setRequestHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Headers', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Methods', 'GET');
xhttp.setRequestHeader('Access-Control-Allow-Credentials', false);
xhttp.send();
错误:
Spring开机java服务主要功能:
@Bean
public WebMvcConfigurer configure() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry corsRegistry) {
corsRegistry.addMapping("/**").allowedOrigins("http://localhost:8080/");
}
};
}
您需要让您的控制器知道请求的来源。
要修复 cors 问题,请将以下代码添加到您的控制器。
您可以尝试使用通配符
@CrossOrigin(origins = "*")
或
@CrossOrigin(origins = "http://localhost:8080" , allowCredentials = "true")
我已经为 return json object 创建了一个 java 服务。它在邮递员中运行良好,但是当我使用 chrome 浏览器尝试时,我遇到了以下错误
CORS policy issue
代码:
var xhttp = new XMLHttpRequest();
var url = 'http://localhost:8030/information/agent111';
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
console.log(this)
}
};
xhttp.open("GET", url, true);
xhttp.setRequestHeader('Content-Type', 'application/json' );
xhttp.setRequestHeader('Access-Control-Allow-Origin', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Headers', 'http://localhost:8080');
xhttp.setRequestHeader('Access-Control-Allow-Methods', 'GET');
xhttp.setRequestHeader('Access-Control-Allow-Credentials', false);
xhttp.send();
错误:
Spring开机java服务主要功能:
@Bean
public WebMvcConfigurer configure() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry corsRegistry) {
corsRegistry.addMapping("/**").allowedOrigins("http://localhost:8080/");
}
};
}
您需要让您的控制器知道请求的来源。 要修复 cors 问题,请将以下代码添加到您的控制器。 您可以尝试使用通配符
@CrossOrigin(origins = "*")
或
@CrossOrigin(origins = "http://localhost:8080" , allowCredentials = "true")