服务器端支持跨域

服务器端使用spring MVC编写
使用过滤器

public class SimpleCORSFilter implements Filter{

    @Override
    public void destroy() {
    }

    @Override
    public void doFilter(ServletRequest req, ServletResponse res,
            FilterChain chain) throws IOException, ServletException {
            HttpServletResponse response = (HttpServletResponse) res;
            response.setHeader("Access-Control-Allow-Origin", "*");
            response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
            response.setHeader("Access-Control-Max-Age", "3600");
            response.setHeader("Access-Control-Allow-Headers", "x-requested-with");
            chain.doFilter(req, res);

    }

    @Override
    public void init(FilterConfig arg0) throws ServletException {
    }

}

在web.xml中添加:

<filter>
      <filter-name>cors</filter-name>
      <filter-class>com.web.filter.SimpleCORSFilter</filter-class>
    </filter>
    <filter-mapping>
      <filter-name>cors</filter-name>
      <url-pattern>/*</url-pattern>
    </filter-mapping>
时间: 2024-10-31 20:25:42

服务器端支持跨域的相关文章

webapi支持跨域访问

写在前面 在实际应用中,跨域请求还是比较常见的,如何上接口直接支持跨域的访问呢? demo 场景项目A有个接口用来获取用户列表,现在项目b也有个功能需要加载用户列表.这两个项目在两个域名下,至少端口好不同.使用angularjs中的$http发起请求. using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Ne

让Apache 和nginx支持跨域访问

1,如何让Apache支持跨域访问呢? 步骤: 修改httpd.conf,windows中对应的目录是:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除 修改 改为: 即: <Directory /> AllowOverride none Require all granted Header set Access-Control-All

如何让服务器支持跨域呢?

如何让服务器本身支持跨域请求呢? 如果服务器是apache (1)修改http服务的配置文件:C:\wamp\bin\apache\Apache2.4.4\conf\httpd.conf 把LoadModule headers_module modules/mod_headers.so 前面的注释删除. (2)添加Header set Access-Control-Allow-Origin * <Directory />     AllowOverride none     Require a

如果要用ajax跨域请求服务器数据,服务器是否要设置支持跨域

问题描述 如果要用ajax跨域请求服务器数据,服务器是否要设置支持跨域 如果要用ajax跨域请求服务器数据,服务器是否要设置支持跨域? 解决方案 是的,如果是跨域请求的话,服务器返回Json数据的格式也是不同的. 所以服务器也是需要支持跨域的. 如:服务器返回普通Json格式为(不跨域) { "code": "0", "content": "我是返回内容" } 那么Jsonp的返回格式则是(跨域) callback({ &qu

js判断请求的url是否可访问,支持跨域判断的实现方法_javascript技巧

如下所示: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <meta name="keywords" content="js判断URL是否可访问" /> <t

iframe自动适应高度几个实例(支持:跨域)

同域.子页面高度不会动态增加 这种情况最简单,直接通过脚本获取字页面实际高度,修改iframe元素高度即可.但有二点必须注意: 如果页面内有绝对定位或者没有清浮动的元素,情况有些复杂,不同浏览器处理结果不同,甚至包括Webkit内核的浏览器,具体请看这个Demo.所以你要么进行浏览器检测,要么用Math.max计算一个最大值,要么你想别的方法. iframe所包含页面可能非常大,需要很长的加载时间,为此直接计算高度的时候,很可能页面还没下载完,高度计算就会有问题.所以最好在iframe的onlo

Ajax异步(请求)提交类 支持跨域_AJAX相关

复制代码 代码如下: /**//* 异步请求类 作者:吾非无心 创建时间:2009.2 --------------------------------------------------------------------------------------------------------------------------------- 修改记录: 2009.4.27--添加 URL 检测功能,如果是"http://xxxx.xxx.xx.xx/.."这样的格式,使用系统提供的

支持跨域iframe高度随内容动态缩放自适应

iframe高度随页面内容自适应高度,当页面高度变动时iframe高度也自动变化 浏览器兼容:IE6++.Firefox全系列.Chrome全系列.(其他版本浏览器未做测试,期待你测试评论反馈以完善本文,谢谢) 同域环境下实现方法: 方法一:仅修改iframe父页面(iframeA.php),iframe子页面内容(iframeB.php)不用添加其他js或额外代码 iframe父页面(iframeA.php)添加代码如下:  代码如下 复制代码 <iframe width="100%&q

Ajax异步(请求)提交类 支持跨域

复制代码 代码如下: /**//* 异步请求类 作者:吾非无心 创建时间:2009.2 --------------------------------------------------------------------------------------------------------------------------------- 修改记录: 2009.4.27--添加 URL 检测功能,如果是"http://xxxx.xxx.xx.xx/.."这样的格式,使用系统提供的