我正在关注本教程Spring/Angular
运行我的应用程序时出现此错误:
CORS策略已阻止从来源“ http://localhost:8080/api/employees”访问“ http://localhost:4200”处的XMLHttpRequest:请求的资源上没有“ Access-Control-Allow-Origin”标头。
我对“交叉原点”提出了一些不同的问题,但我不知道确切地将其插入以及在其上插入的内容,因为在本教程中从不显示或使用它。
答案 0 :(得分:0)
您可以添加 proxy.config.json
{
"/application1/rest": {
"target": "http://localhost:8060/",
"secure": false
},
"/anotherapp": {
"target": "http://localhost:8060/",
"secure": false
}
}
然后使用:
directory\angular> ng serve --proxy-config proxy.config.json
答案 1 :(得分:0)
跨源与前端无关。您需要做的就是在后端允许前端的URL。通常,我们在后端编写一个CORS过滤器,然后在其中允许前端网址。
遵循本教程CORS with Spring
答案 2 :(得分:0)
更新
我在服务器端(春季)用@Configuration注释创建一个类:
<script src="//code.jquery.com/jquery-3.1.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
var userid = _spPageContextInfo.userId;
function GetCurrentUser() {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_api/web/getuserbyid(" + userid + ")";
var requestHeaders = { "accept" : "application/json;odata=verbose" };
$.ajax({
url : requestUri,
contentType : "application/json;odata=verbose",
headers : requestHeaders,
success : onSuccess,
error : onError
});
}
function onSuccess(data, request){
console.log(data.d);
var loginName = data.d.LoginName;
var email=data.d.Email;
alert(loginName);
alert(email);
}
function onError(error) {
alert(error);
}
GetCurrentUser();
});
</script>
答案 3 :(得分:0)
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
@Configuration
public class CORSConfiguration {
@SuppressWarnings("deprecation")
@Bean
public WebMvcConfigurer corsConfigurer()
{
return new WebMvcConfigurerAdapter() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedMethods("GET", "PUT", "POST", "DELETE", "OPTIONS");
}
};
}
}
答案 4 :(得分:0)
In Tomcat `web.xml` file set these cors.
`<filter>
<filter - name> CorsFilter </filter-name>
<filter - class> org.apache.catalina.filters.CorsFilter </filter-class>
</filter>
<filter - mapping>
<filter - name> CorsFilter </filter-name>
<url - pattern>/*</url-pattern>
</filter-mapping>`