我使用Spring和Angular开发了一个应用程序。我已经在WildFly 10上部署了我的Java Spring应用程序,并且我想从我的Angular前端向我的后端发送请求,但我在浏览器控制台中一直收到错误。
XMLHttpRequest无法加载http://localhost:8080/event/allEvents。没有 '访问控制允许来源'标题出现在请求的上 资源。起源' http://localhost:4200'因此是不允许的 访问。响应的HTTP状态代码为404.
我已将@CrossOrigin注释添加到我的java代码中:
@RestController
@CrossOrigin(origins="*")
@RequestMapping(path="/event")
public class EventController {
@Autowired
private EventService eventService;
@CrossOrigin(origins="*")
@RequestMapping(path="/addEvent",method=RequestMethod.POST)
public @ResponseBody Long addNewEvent(@RequestBody Event event){
System.out.println("user"+event);
return eventService.createUser(event);
}
@CrossOrigin(origins="*")
@RequestMapping(path="/allEvents",method=RequestMethod.GET)
public @ResponseBody List<Event> getAllUsers(){
return eventService.getAllUsers();
}
}
我还在Standalone.xml中添加了相关的标题:
<response-header name="Access-Control-Allow-Origin" header-name="Access-Control-Allow-Origin" header-value="http://localhost:4200"/>
<response-header name="Access-Control-Allow-Methods" header-name="Access-Control-Allow-Methods" header-value="GET, POST, OPTIONS, PUT"/>
<response-header name="Access-Control-Allow-Headers" header-name="Access-Control-Allow-Headers" header-value="accept, authorization, content-type, x-requested-with"/>
<response-header name="Access-Control-Allow-Credentials" header-name="Access-Control-Allow-Credentials" header-value="true"/>
<response-header name="Access-Control-Max-Age" header-name="Access-Control-Max-Age" header-value="1"/>
和
<filter-ref name="Access-Control-Allow-Origin"/>
<filter-ref name="Access-Control-Allow-Methods"/>
<filter-ref name="Access-Control-Allow-Headers"/>
<filter-ref name="Access-Control-Allow-Credentials"/>
<filter-ref name="Access-Control-Max-Age"/>
但我仍然遇到同样的错误。如果有人能帮我解决这个问题,我真的很感激。
答案 0 :(得分:0)
所以CORS的问题已经用标题解决了,我得到404错误的原因是我忘了把“demo.war”文件名放在我的URL中。所以我的网址现在改为:
$('#day').fullCalendar('changeView', 'agendaDay', date.format() )
现在它正常工作。