$http.get is not allowed by Access-Control-Allow-Origin but $.ajax is

后端 未结 4 1302
感动是毒
感动是毒 2020-11-27 03:29

I have a problem fetching json from a remote server that I control. I have 2 web applications, one serving data and running on port 3311, the other, requesting data, is run

4条回答
  •  时光说笑
    2020-11-27 04:21

    Requested headers has to be set at the server side. There are many ways in setting this

    1.One can be

     
       ResponseFilter
       org.apache.catalina.filters.CorsFilter
     
     
       ResponseFilter
       /*
     
    

    2.Independent of the server you can develop a custom class that can be passed as init paramter to jersey servlet com.sun.jersey.spi.container.ContainerResponseFilters helpers.TestCorpsFilter enter code here `public class TestCorpsFilter implements ContainerResponseFilter {

        @Override
        public ContainerResponse filter(ContainerRequest arg0, ContainerResponse arg1) {
            ResponseBuilder resp = Response.fromResponse(arg1.getResponse());
            resp.header("Access-Control-Allow-Origin", "*").header("Access-Control-Allow-Methods",
                    "GET, POST, OPTIONS");
    
            String requestHeader = arg0.getHeaderValue("Access-Control-Request-Headers");
    
            if (requestHeader != null && !requestHeader.equals("")) {
                resp.header("Access-Control-Allow-Headers", requestHeader);
            }
    
            arg1.setResponse(resp.build());
            return arg1;
    
        }
    

提交回复
热议问题