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

如何让服务器本身支持跨域请求呢?

如果服务器是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 all granted

         Header set Access-Control-Allow-Origin *

</Directory>

(3)重启http服务

 

如果是tomcat,比如spring MVC项目

创建一个过滤器,代码如下:

Java代码   收藏代码
  1. package com.web.filter;  
  2.   
  3. import java.io.IOException;  
  4.   
  5. import javax.servlet.Filter;  
  6. import javax.servlet.FilterChain;  
  7. import javax.servlet.FilterConfig;  
  8. import javax.servlet.ServletException;  
  9. import javax.servlet.ServletRequest;  
  10. import javax.servlet.ServletResponse;  
  11. import javax.servlet.http.HttpServletResponse;  
  12.   
  13. import com.common.dict.Constant2;  
  14.   
  15. import oa.service.DictionaryParam;  
  16.   
  17. public class SimpleCORSFilter implements Filter{  
  18.   
  19.     @Override  
  20.     public void destroy() {  
  21.           
  22.     }  
  23.   
  24.     @Override  
  25.     public void doFilter(ServletRequest req, ServletResponse res,  
  26.             FilterChain chain) throws IOException, ServletException {  
  27.             HttpServletResponse response = (HttpServletResponse) res;  
  28.             response.setHeader("Access-Control-Allow-Origin", DictionaryParam.get(Constant2.DICTIONARY_GROUP_GLOBAL_SETTING, "AccessControlAllowOrigin"));  
  29.             response.setHeader("Access-Control-Allow-Methods""POST, GET, OPTIONS, DELETE");  
  30.             response.setHeader("Access-Control-Max-Age""3600");  
  31.             response.setHeader("Access-Control-Allow-Headers""x-requested-with");  
  32.             chain.doFilter(req, res);  
  33.           
  34.     }  
  35.   
  36.     @Override  
  37.     public void init(FilterConfig arg0) throws ServletException {  
  38.           
  39.     }  
  40.   
  41. }  

关键代码:response.setHeader("Access-Control-Allow-Origin", "*");

 修改web.xml,增加:

Xml代码   收藏代码
  1. <filter>  
  2.       <filter-name>cors</filter-name>  
  3.       <filter-class>com.web.filter.SimpleCORSFilter</filter-class>  
  4.     </filter>  
  5.     <filter-mapping>  
  6.       <filter-name>cors</filter-name>  
  7.       <url-pattern>/*</url-pattern>  
  8.     </filter-mapping>  

 

这样服务器就支持ajax的跨域访问了.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值