在这里阅读有关您的问题CORS的信息:http : //enable-
cors.org/
检查此方法是否对您的getMsg()方法有帮助:
return Response.ok(output).header("Access-Control-Allow-Origin","*").build();如果上述方法不起作用,请尝试将Jersey过滤器添加到您的服务中。创建过滤器类:
package your.package;public class CORSFilter implements ContainerResponseFilter { @Override public ContainerResponse filter(ContainerRequest creq, ContainerResponse cresp) { cresp.getHttpHeaders().putSingle("Access-Control-Allow-Origin", "*"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Credentials", "true"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Methods", "GET, POST, DELETE, PUT, OPTIONS, HEAD"); cresp.getHttpHeaders().putSingle("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With"); return cresp; }}并稍后注册win web.xml:
<servlet><servlet-name>CORS Filter</servlet-name><servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class> <init-param> <param-name>com.sun.jersey.spi.container.ContainerResponseFilters</param-name> <param-value>your.package.CORSFilter</param-value> </init-param></servlet><servlet-mapping> <servlet-name>CORS Filter</servlet-name> <url-pattern>/webservices/*</url-pattern></servlet-mapping>
另一个解决方案是在资源中使用此代码来提供
OPTIONS浏览器。将其放在您拥有@GET的班级中。
@OPTIONS @Path("/getsample") public Response getOptions() { return Response.ok() .header("Access-Control-Allow-Origin", "*") .header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS") .header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With").build(); }如果没有这项工作,请尝试将
"*"提供的“ Access-Control-Allow-
Origin”标头与您访问此资源的自定义域交换。Ig如果您
http://localhost::8080使用这样的名称
("Access-Control-Allow-Origin", "http://localhost:8080")而不是星号来调用它"*"。



