当前位置: 首页 > 知识库问答 >
问题:

请求的资源上没有“Access-Control-Allow-Origin”标头。误差

孙鑫鹏
2023-03-14

我在前端使用Angular,在后端使用Java Spring,但是我得到了错误:请求的资源上没有'access-control-allog-origin'标头。,而我确信CORS是启用的。这是我的配置文件:

package com.aon04.backend.configuration;

import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Configuration
@EnableWebMvc
public class CorsConfiguration implements WebMvcConfigurer
{
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
    }
}

它工作了,我可以毫无问题地完成所有其他请求,但服务中的这个PUT请求给了我一个错误:

  updateExamById(id, exam: Examen): Observable<Examen> {
    return this.http.put<Examen>(APIURL + '/update/' + id, {file: exam.file, name: exam.naam});
  }

这是我的服务器端:

@PutMapping("/update/{id}")
public Exam UpdateExam(@RequestParam("file") MultipartFile file, @RequestParam("name") String name, @PathVariable("id") int id)
{
    Exam newExam = new Exam();
    newExam.setId(id);
    newExam.setSkelet(file.getOriginalFilename());
    newExam.setNaam(name);
    newExam.setCreatedAt(LocalDateTime.now());
    Exam exam2 = ExamFactory.update(newExam);
    examRepository.save(exam2);
    storageService.store(file);
    return newExam;
}

共有1个答案

江阳夏
2023-03-14

不需要添加此配置

public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**");
    }

只需在类级或方法级的Controller类中像这样添加您想要的内容

@CrossOrigin(origins = "http://localhost:4200")
 类似资料:
  • 问题内容: 我想访问来自同一域但端口号不同的信息,为此,我添加了响应头。 Servlet代码:( 显示在www.example.com:PORT_NUMBER上) jQuery代码:( 显示在www.example.com上) 几次我收到此错误(在控制台中): 该错误通常在执行时首次发生。第二次允许。 我的问题是代码中或代码中缺少什么? 任何建议将不胜感激。 更新1 我变了: 至: 然后我在控制台

  • 我正在尝试获取一个新闻网站的提要。我想我应该使用Google的feed API将feedburner提要转换为JSON。下面的url将以json格式从提要返回10个帖子。http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://feeds.feedburner.com/Mathrubhumi 我使用下面的代码来

  • 问题 我设法从我的应用程序进入keycloak登录页面。使用“我的登录详细信息”登录后,出现错误: -localhost/:1 CORS策略阻止了从源“http://localhost:4200”访问“https://localhost:8080/auth/realms/pwe-realm/protocol/openid-connect/token”的XMLHttpRequest:请求的资源上没有

  • 问题内容: 我需要通过JavaScript 将数据发送到Python服务器。因为我使用的是localhost,所以我需要使用CORS。我正在使用Flask框架及其模块。 作为JavaScript,我有这个: 和Python代码: 但是当我执行它时,我收到以下消息: 我该如何解决?我知道我需要使用一些“ Access-Control-Allow-Origin”标头,但我不知道如何在此代码中实现它。顺

  • 我已经使用Python EVE框架编写了一个API。当试图从AngularJS应用程序访问API时,它显示了如下所示的错误: 有什么问题吗

  • 我有一个运行在服务器上的API,还有一个连接到它的前端客户端来检索数据。我对跨域问题做了一些研究,并使其工作。然而,我不确定有什么改变。我现在在控制台中收到这个错误: 谢谢你