我对CORS有一个奇怪的问题。 API和Web APP运行在不同的服务器上。
我使用laravel-cors软件包在API上启用了CORS,并尝试从其他服务器使用该API。
我可以使用 Postman 和 Guzzle Http Client使用API,但是在使用 Ajax 时失败。
当我检查API响应时;我有SessionAs<T>
标头。
我该如何解决?
答案 0 :(得分:-1)
当客户端和服务器位于不同的计算机上时,我们将出现此问题。 默认情况下,Spring通过引发无效的cors请求异常来阻止来自不同主机客户端的请求。
因此,您应该在服务器端代码中允许所有来源。
如果您使用的是Spring,则以下代码段将很有帮助。 在Spring Boot主类或新的配置文件中添加以下代码。
@Bean
public <HttpSecurity> WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedMethods("*")
.allowedHeaders("*");
}
};
}
答案 1 :(得分:-1)
protected $except = [
'api/*'
];