" No' Access-Control-Allow-Origin'标头出现在请求的资源上#34;在WildFly 10中

时间:2017-07-11 17:39:26

标签: java spring jboss cors wildfly

我使用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"/>

但我仍然遇到同样的错误。如果有人能帮我解决这个问题,我真的很感激。

1 个答案:

答案 0 :(得分:0)

所以CORS的问题已经用标题解决了,我得到404错误的原因是我忘了把“demo.war”文件名放在我的URL中。所以我的网址现在改为:

$('#day').fullCalendar('changeView', 'agendaDay', date.format() )

现在它正常工作。