Ajax 跨域请求 配置解决方法 tomcat weblogic适用
来源:互联网 发布:javascript例子 编辑:程序博客网 时间:2024/06/06 09:49
概述
Ajax跨域是前端开发中常见的问题,本文描述了以Google浏览器Chrome作为客户端和以Tomcat作为Web服务器的情况下的解决办法。
问题现象
当出现跨域访问的时候ajax通常会报类似如下错误:
XMLHttpRequest cannot load http://192.168.2.12:8001/oss/api/version/check. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8000' is therefore not allowed access.
解决办法一:关闭浏览器的跨域安全设置,仅限于开发的时候测试用
以chrome浏览器为例,右键点击chrome的快捷方式,然后在Target的值后面追加 --disable-web-security,注意--前面有个空格。例如:
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security
启动之后,Chrome浏览器会提示您"您使用的是不受支持的命令行标记:--disable-web-security",说不安全,因此仅限于测试。
这样就可以直接测试,不会出现跨域的错误了!
解决办法二:配置Web服务器支持跨域访问 (支持tomcat)
这里描述以Tomcat为Web服务器情况下的解决办法,在Java Web程序的WEB-INF下的web.xml文件中加入如下配置即可。
<!--cors filter-->
<filter>
<filter-name>CorsFilter</filter-name>
<filter-class>org.apache.catalina.filters.CorsFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CorsFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
解决办法三:配置Web服务器支持跨域访问(支持weblogic/tomcat)
1.在Java Web程序的WEB-INF下的web.xml文件中加入如下配置
<filter>
<filter-name> CORS </filter-name>
<filter-class> com.thetransactioncompany.cors.CORSFilter </filter-class>
<init-param>
<param-name> cors.allowOrigin </param-name> <!--配置授信的白名单的域名!-->
<param-value> * </param-value>
</init-param>
<init-param>
<param-name> cors.supportedMethods </param-name>
<param-value> GET, POST, HEAD, PUT, DELETE </param-value>
</init-param>
<init-param>
<param-name> cors.supportedHeaders </param-name>
<param-value> Accept, Origin, X-Requested-With, Content-Type, Last-Modified </param-value>
</init-param>
<init-param>
<param-name> cors.exposedHeaders </param-name>
<param-value> Set-Cookie </param-value>
</init-param>
<init-param>
<param-name> cors.supportsCredentials </param-name>
<param-value> true </param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name> CORS </filter-name>
<url-pattern> /* </url-pattern>
</filter-mapping>
2.在项目中或容器中添加以下jar包
- Ajax 跨域请求 配置解决方法 tomcat weblogic适用
- tomcat weblogic 对于ajax请求参数 差异
- jQuery ajax跨域请求的解决方法
- Jquery使用AJAX请求跨域解决方法
- nginx配置ajax请求跨域
- nginx配置ajax请求跨域
- Ajax跨域请求解决方法之Modello篇
- jquery的ajax跨域请求jsonp解决方法
- Tomcat下 解决Ajax请求跨域的问题
- JFinal+FreeMarker+Tomcat下ajax跨域请求
- ajax请求跨域请求
- FORM表单请求和AJAX请求使用和适用场景
- tomcat,jboss,weblogic配置虚拟目录
- Tomcat和Weblogic配置JNDI
- tomcat,weblogic下配置问题
- ajax 跨域请求
- AJAX跨域请求
- Ajax跨域请求
- JAVA设计模式之二:抽象工厂模式
- 写代码的小女孩
- hibernate 多条件组合查询之sql拼接
- iOS 常用手势
- 关于Datatable设置某列为option选项列
- Ajax 跨域请求 配置解决方法 tomcat weblogic适用
- Java ArrayList、Vector和LinkedList等的差别与用法(转)
- 欢迎使用CSDN-markdown编辑器
- 【读书笔记】TCP/IP网络编程 非阻塞模式
- 伪元素、伪类的理解
- 图之图的深度优先遍历
- 77.windbg-!drvobj、.devstack(驱动对象,设备栈,AttachedDevice)
- 想让程序跳转到绝对地址0x100000处执行,该如何做?
- scala中的object和class