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

即使在用@crossorigin(Origins=“*”)注释控制器之后,跨源请求也会被阻止?

邴越彬
2023-03-14

我有一个SpringBoot控制器,如下所示

@CrossOrigin(origins="*")
public class FormController {
      @PostMapping(path="/basicForm")
 public String postResponseController(
              @RequestBody FormDomain loginForm) {
        System.err.println("basic form method called");
         return "file transfer completed successfully";
     }
}
public class FormDomain {
     private MultipartFile fileInput;

    public MultipartFile getFileInput() {
        return fileInput;
    }

    public void setFileInput(MultipartFile fileInput) {
        this.fileInput = fileInput;
    }
    }
 onClickSubmit(data) {
        this.http.post("http://localhost:8080/basicForm", data).subscribe( (ob)=>(console.log(ob)));
      }
Access to XMLHttpRequest at 'http://localhost:8080/basicForm' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.

共有1个答案

谭彦
2023-03-14

必须在FormController中添加@restController

@controller@component类的专门化,允许通过类路径扫描自动检测实现类。而@restcontroller@controller的专门化,它消除了对@responsebody的需要。您可以参考@controller,

 类似资料:
  • 我有一个Spring靴控制器,如下所示 我用注释了控制器以启用CORS。这是我的表单域类 和调用控制器方法的角度脚本 尽管我已经注释了控制器以启用CORS,但我在浏览器控制台中得到了以下错误: 如何解决这个问题?

  • 我也在应用程序根目录中使用。htaccess文件。(waleedahmad.kd.io/node)。

  • 问题内容: 因此,我有了这个Go http处理程序,该处理程序将一些POST内容存储到数据存储中,并检索其他一些信息作为响应。在后端,我使用: 在我的firefox OS应用程序中,我使用: 传入的部分都一直如此。但是,我的回复被阻止了。给我以下信息: 我尝试了许多其他操作,但是无法从服务器获得响应。但是,当我将Go POST方法更改为GET并通过浏览器访问该页面时,我得到的数据太糟糕了。我无法真

  • 如何通过 ajax 从远程 url 获取内容? jQuery ajax请求被阻止,因为跨源 控制台日志 跨来源请求被阻止:同一来源策略不允许读取http://www.dailymotion.com/embed/video/x28j5hv.的远程资源(原因:CORS标头“Access-Control-Allow-Origin”缺失)。 已阻止跨源请求:同源策略不允许读取位于的远程资源http://w

  • 我有一个restcontroller,它标记为。然而,尽管在控制器级别有,我的请求仍被CORS策略阻止。 下面是代码的概要 正在从Angular Ui应用程序调用api。 蜜蜂服务。ts 到目前为止,这是该微服务中唯一的控制器,我已经在控制器级别和方法级别尝试了@CrossOrigin(origins=“”,allowedHeaders=“”)、@CrossOrigin、@CrossOrigin(

  • 尽管我的nodejs服务器中有正确的头: 当我在火狐浏览器中发出请求时,我仍然会出错: “阻止跨源请求:同一源策略不允许读取位于的远程资源。”http://www.example.com/api/. (原因:缺少CORS标头“访问控制允许原点”。) 以下是我在客户端提出请求的方式: