在以下位置访问XMLHttpRequest 来源“ https://docs.gradle.org/current/userguide/publishing_maven.html#publishing_maven:tasks”中的“ http://localhost:8080/SpringVendor/login/” 已被CORS政策阻止:对预检请求的响应未通过访问控制检查:所请求的资源上没有“ Access-Control-Allow-Origin”标头。
这似乎是一个已知问题,与此主题相关的问题很多。但是,我的情况很奇怪。 我有一个部署在tomcat 8.5.45上的简单Web应用程序,并且已经正确配置了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>
这是控制器 @CrossOrigin(origins =“ ”,allowedHeaders =“ ”) @RequestMapping(值= Constants.REQ_MAP_LOGIN,方法= RequestMethod.POST,产生= MediaType.APPLICATION_JSON_VALUE) 公共字符串vendorloginMethodPost(@RequestBody VendorLogin vendoridlogin){
System.out.println(vendoridlogin);
String message = Constants.EMPTY_STRING;
String id = dao.getLoginDetails(vendoridlogin);
Gson gson = new Gson();
if (id == null) {
message = "login fail";
} else {
message = " login Successfully";
}
String json = gson.toJson(message);
return json;
}
这是doaImplementation
@Override public String getLoginDetails(VendorLogin vendorlogin){
String getVendorData = "select vendor_ID from vendor_login where vendor_ID='" + vendorlogin.getVendorLoginId()
+ "' and password= '" + vendorlogin.getPassWord() + "' and type_of_vendor='" + vendorlogin.getTypeOfVendor()+ "'";
String name = null;
try {
name = (String) jdbcTemplate.queryForObject(getVendorData, String.class);
} catch (Exception e) {
// e.printStackTrace();
System.out.println("Database operation for a query:" + getVendorData + "Failed Details Message:"
+ e.getLocalizedMessage() + " ");
}
return name;
}
我正在开发webservices。.frontend是一个有角度的后端,我正在使用java spring。.