我在前端使用Angular 6,在后端使用Java Spring Boot。
我想让我的登录页面向服务器发出请求。服务器重定向到仪表板页。
我有http://localhost:4200/login angular页面,它向服务器http://localhost:8080/login发出POST请求
onLoginClickPost() {
console.log('redirect request clicked');
this.data.getUserInfoPost().subscribe(
data => {
console.log(data);
this.userInfo = data;
}
);
}
getUserInfoPost() {
return this.http.post('http://localhost:8080/login', {nextUrl: 'http://localhost:4200/dashboard'});
}
@CrossOrigin(origins = "http://localhost:4200")
@RequestMapping(value = "/login", method = RequestMethod.POST)
public ResponseEntity<?> login_post(@RequestBody LoginReqPostParam payload) {
HttpHeaders headers = new HttpHeaders();
try {
headers.setLocation(new URI(payload.getNextUrl()));
headers.add("Access-Control-Allow-Headers", "Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
} catch (URISyntaxException e) {
logger.error("URI Exception: ", e);
e.printStackTrace();
}
return new ResponseEntity<>(headers, HttpStatus.FOUND);
}
您正在使用@crossorigin
进行POST请求,但Angular(正在开发中)正在使用选项发送飞行前请求。
我建议您使用一个允许所有起源的开发概要文件(您必须在Bean中为这些概要文件创建一个自定义过滤器)
CORS策略阻止了从来源'http://localhost:3000'获取'My InvokeURL'的访问:在飞行前响应中,Access-Control-Allow-Headers不允许请求头字段content-type。 我的目标是将POST请求取到API网关。我在网关控制台的选项响应中添加了Access-Control-Allow-Headers标头,其值为'Content-Type,X-A
问题内容: 我正在尝试从跨域制作登录页面,但无法解决问题,错误是: XMLHttpRequest无法加载http://localhost/testing/resp.php。在飞行前响应中,Access- Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Headers。 我的Javascript代码是: http://localhost/test
完整错误消息: CORS策略阻止从来源“http://localhost:3000”访问位于“https://api_url”的XMLHttpRequest:飞行前响应中的access-control-allog-headers不允许请求头字段x-requested-with。
问题内容: 我正在尝试使用发布请求将文件发送到服务器,但是在发送请求时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了错误并添加了标题: 然后我得到错误: Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin 所以我用谷歌搜索,唯一能找到的类似
我正在尝试将文件发送到我的服务器,并发送post请求,但当它发送时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了这个错误并添加了标题: 然后我得到错误: