我已经配置了Jetty的跨原点过滤器,但是我继续收到以下错误。有谁知道哪里出了问题以及如何解决?错误消息下方是我的替代描述符(即补充web.xml)
错误:
Origin http://localhost:8090 is not allowed by Access-Control-Allow-Origin.
覆盖描述符:
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" > <web-app> <filter> <filter-name>cross-origin</filter-name> <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class> <init-param> <param-name>allowedOrigins</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>allowedMethods</param-name> <param-value>*</param-value> </init-param> <init-param> <param-name>allowedHeaders</param-name> <param-value>*</param-value> </init-param> </filter> <filter-mapping> <filter-name>cross-origin</filter-name> <filter-pattern>/*</filter-pattern> </filter-mapping> </web-app>
请求标题
Accept:*/* Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en-US,en;q=0.8 Access-Control-Request-Headers:Origin, Content-Type, Accept Access-Control-Request-Method:POST Connection:keep-alive Host:localhost:8080 Origin:http://localhost:8090 Referer:http://localhost:8090/home User-Agent:Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.8 (KHTML, like Gecko) Chrome/17.0.942.0
响应头
Allow:POST,GET,OPTIONS,HEAD Content-Length:0 Date:Wed, 30 Nov 2011 02:13:21 GMT Server:Jetty(7.5.4.v20111024)
阿罗哈
我也为此战斗了一段时间,发现最终节点需要为:
<filter-mapping> <filter-name>cross-origin</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
不
<filter-mapping> <filter-name>cross-origin</filter-name> <filter-pattern>/*</filter-pattern> </filter-mapping>
这是我发现对我有帮助的链接:wiki.eclipse.org/Jetty/Feature/Cross_Origin_Filter
更新我的web.xml文件并重新启动码头服务器后,我能够使用jQuery ajax调用进行跨域请求。
抢