猿问

来自弹性应用中被 CORS 策略阻止的有角度应用的请求

我正在尝试将请求从角度前端发送到由Spring后端公开的REST控制器。REST 控制器具有注释。@CrossOrigin

我正在使用 Http 客户端从角度应用程序发送请求。

请求:

  const httpOptions = {
      headers: new HttpHeaders({   
           'Authorization': 'Basic ' + basicAuthHeader,
      })
    };    return this.http.get(this.address + this.addressStorage.loginEndpoint + '/' + playerName, httpOptions);

结果:

Access to XMLHttpRequest at 'xxx' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: It does not have HTTP ok status.

邮递员发出的相同请求给出了正确的回应。

我的假设:

我已经使用chrome开发工具检查了网络选项卡:

问题是否是由发送选项请求而不是 GET 请求并且 CORS 仅允许 GET 方法这一事实引起的?

假设我的猜测是正确的,那么将此组件添加到弹簧启动应用程序中会解决我的问题吗?


哆啦的时光机
浏览 84回答 1
1回答

桃花长相依

我相信你的服务器发送手段在角度你还需要通知你的服务发送请求与Access-Control-Allow-Credentials'Access-Control-Allow-Credentials': 'true'更新有凭据的请求和通配符 响应凭据请求时,服务器必须在访问控制允许源标头的值中指定源,而不是指定“*”通配符。预检请求
随时随地看视频慕课网APP

相关分类

Java
我要回答