Spring MVC 和 Angular - 原因:缺少 CORS 标头“Access-Control-Allow-Origin”
Posted
技术标签:
【中文标题】Spring MVC 和 Angular - 原因:缺少 CORS 标头“Access-Control-Allow-Origin”【英文标题】:Spring MVC & Angular - Reason: CORS header ‘Access-Control-Allow-Origin’ missing 【发布时间】:2021-02-11 03:01:23 【问题描述】:当我尝试设置 Content-Type:application/json
时出现 CORS 错误原因:缺少 CORS 标头“Access-Control-Allow-Origin”
这是我在 Spring MVC 中的 Cors 覆盖:
@Override
public void addCorsMappings(CorsRegistry registry)
registry.addMapping("/**").allowCredentials(true).allowedMethods("GET", "POST", "PUT", "DELETE","OPTIONS").allowedHeaders("*").allowedOrigins("http://localhost:4200");
我的帖子 API:
@RequestMapping(value = "/seanPost", method = RequestMethod.POST)
public String post(HttpServletRequest request, @RequestBody TrackFileStatusFindForm form )
我在 Angular 中的请求:
options =
headers: new HttpHeaders()
.set('Accept', 'application/json')
.set('Content-Type', 'application/json')
;
this.http.post(this.APP_URL + '/seanPost', JSON.stringify(this.model), this.options)
.subscribe(
data =>
this.postId = data;
console.log(this.postId);
,
error =>
console.log('Error occured', error);
)
我的 Spring 项目在本地部署在 WebLogic 12c 上,如果有帮助,我将使用 https。
谢谢
【问题讨论】:
【参考方案1】:试试这个:
private httpOptions = headers: new HttpHeaders( 'Content-Type': 'application/json' ) ;
【讨论】:
没有仍然遇到相同的 cors 问题:跨域请求被阻止:同源策略不允许在 /seanPost 读取远程资源。 (原因:CORS 标头“Access-Control-Allow-Origin”缺失)。 那么你的错误是服务器端的。帮不了你,我对spring不熟悉。 好的。感谢您的帮助:)以上是关于Spring MVC 和 Angular - 原因:缺少 CORS 标头“Access-Control-Allow-Origin”的主要内容,如果未能解决你的问题,请参考以下文章
从现有数据库生成 Angular 5 和 Spring mvc CRUD 应用程序 [关闭]
Spring 5 MVC Angular 5 App投掷404错误
带有angular2的spring mvc(rest)导致302暂时移动
在单个服务器上运行带有 Angular 2 的 Spring4MVC
Spring Security + Angular JS + Spring MVC Rest
Angular 6 - Spring MVC :: Options preflight request throws 500 internal Server Error