Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法
来源:互联网 发布:博易大师mac版 编辑:程序博客网 时间:2024/06/03 01:22
当使用jQuery Ajax post请求时可能会遇到类似这样的错误提示
XMLHttpRequest cannot load http://xxxxxx. Origin http://xxxxxx is not allowed by Access-Control-Allow-Origin.
这是Ajax跨域访问权限的问题,服务器端不接受来自另一个不同IP地址的由脚本文件发出的http请求。解决这个问题需要在服务器端进行配置使服务器端可以接受来自不同域的脚本文件的http请求。一个简单的解决方法是在服务器端配置Jetty Cross Origin Filter。
首先你需要下载jetty-servlets.jar。下载地址http://central.maven.org/maven2/org/eclipse/jetty/jetty-servlets/ 。然后将jetty-servlets.jar导入到WEB-INF/lib文件夹。最后在web.xml文件配置一些简单的参数就可以使服务器端允许跨域访问。一个典型的配置是这样的:
<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>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
</init-param>
<init-param>
<param-name>allowCredentials</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>allowCredentials</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>cross-origin</filter-name>
<url-pattern>/rest/*</url-pattern>
</filter-mapping>
</web-app>
Jetty Cross Origin配置方法
接下来解释参数的具体意义:
allowedOrigins: 允许跨域访问的域名或链接地址,多个地址用逗号分隔,默认值为"*", 表示接受来自所有域的访问请求。
allowedMethods: 可接受的http请求方法,多个方法用逗号分隔,默认为GET, PSOT, HEAD.
allowCredentials: 是否允许受信任的请求访问资源,默认为true。
有关其他详细配置可以参考官方文档:
http://www.eclipse.org/jetty/documentation/current/cross-origin-filter.html
- Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法
- 关于AJAX/javascript 跨域访问的解决办法及 CORS(Cross-Origin Resource Sharing) 简单介绍
- 关于AJAX/javascript 跨域访问的解决办法及 CORS(Cross-Origin Resource Shar
- 解决ajax跨域访问 JQuery 的跨域方法
- Chrome里面Ajax本地跨域问题 Cross origin
- JQuery的ajax跨域访问方法
- 关于跨域的ajax——Cross-Origin Resource Sharing (CORS)
- ajax跨域访问(cross-domain)
- jquery ajax 解决跨域访问问题
- Ajax:Cross-Origin Resource Sharing
- ajax跨域访问 JQuery 的跨域方法
- ajax跨域访问 JQuery 的跨域方法
- ajax跨域访问 JQuery 的跨域方法
- JQuery其中可以跨域访问的AJAX方法
- jquery.Ajax跨域访问数据方法
- 使用ajax跨域Cross-Origin Resource Sharing / withCredentials的作用
- Ajax本地跨域问题 Cross origin requests are only supported for HTTP
- Ajax本地跨域问题 Cross origin requests are only supported for HTTP
- gprof 使用和介绍
- 35. Search Insert Position
- 快递100 快递公司编码-标准国际
- Ajax简介
- Eclipse之常用设置
- Jetty Cross Origin Filter解决jQuery Ajax跨域访问的方法
- windows下网络事件的类型
- 原创SpringMvc+Mybatis+Redis框架
- fasterRCNN系列
- SNAT, DNAT, MASQUERADE
- 使用ScriptX控件进行Web打印总结
- Tomcat性能调优方案
- Eclipse开发程序的时候,经常要用到第三方jar包
- 移动端设备访问网站的时候自动跳转代码