`

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

    博客分类:
  • Java
阅读更多

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

如果服务器是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项目

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

package com.web.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletResponse;

import com.common.dict.Constant2;

import oa.service.DictionaryParam;

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", DictionaryParam.get(Constant2.DICTIONARY_GROUP_GLOBAL_SETTING, "AccessControlAllowOrigin"));
	        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 {
		
	}

}

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

 修改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>

 

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

 

2
1
分享到:
评论
2 楼 hw1287789687 2017-05-30  
ipodao 写道
解决了我的问题,谢谢你。

能帮到你,我很高兴
1 楼 ipodao 2017-05-27  
解决了我的问题,谢谢你。

相关推荐

    配置服务端支持跨域所应用到的jar包

    配置服务端支持跨域所应用到的jar包,另外还需要进行一些配置。详见我的博客“服务器端解决跨域问题的三种方法”

    pdfjs 跨域预览文件(完整版t)

    pdfjs跨域加载文件预览。亲测可以用。在SSM框架中实现的。但是原理是通用的 详情查看http://blog.csdn.net/u013132051/article/details/76066920

    file协议导致的跨域问题以及解决方案.docx

    file协议导致的跨域问题以及解决方案.docx

    AJAX(XMLHttpRequest)进行跨域请求方法详解

    然而,对于那些HTTP请求导致用户数据产生副作用的请求方法(特别是对于除了GET、某些MIME类型的POST之外的HTTP方法),该规范要求浏览器对请求进行“预先验”,通过发送HTTP的OPTIONS请求头询问服务器有哪些支持的...

    ARM32-Nginx服务,支持RTMP/HTTP-FLV推拉流,支持flv.js跨域拉流,支持web端跨域代理/上传文件

    ARM32-Nginx服务,支持RTMP/HTTP-FLV推拉流,支持flv.js跨域拉流,支持web端跨域代理/上传文件

    tomcat跨域访问问题

    在日常使用tomcat经常会因为tomcat不支持跨域访问导致许多问题,此文章主要解决tomcat跨域无法访问的问题。

    易语言-易语言原生http服务器 超轻 自动跨域

    仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...

    前端跨域解决方案

    前端跨域解决方案,jsonp和cros...然后客户端就可以通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件。客户端在对JSON文件调用成功之后,也就获得了自己所需的数据。这就形成了JSONP的基本概念。

    Apache中配置支持CORS(跨域资源共享)实例

    当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error...使用CORS,可以使用普通的ajax实现跨域,这对于前端来说是极大的福音了,这个技术被现在大多数浏览器所普遍支持,因为跨域已经是普遍的要求,浏览器肯定会逐渐

    利用Nginx反向代理解决跨域问题详解

    一般来说,与后台利用CORS跨域资源共享将Access-Control-Allow-Origin设置为访问的域名即可,这个需要后台的配合,且有些浏览器是不支持的。 基于与合作方后台的配合,利用nginx方向代理来满足浏览器的同源策略来...

    crossDomainServer:设置网络服务器以允许跨域访问其他站点

    不支持跨域访问的 Web API 服务器。 提供两个不同版本的服务器代码(python 和服务器端 javascript,通过 node.js)。 Python版 服务器的python版本基于的服务器,使用cherrypy。 用法 python server.py ##Node ...

    易语言简易服务器.e

    仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...

    【JavaScript源代码】Ajax解决跨域之设置CORS响应头实现跨域案例详解.docx

    CORS 是官方的跨域解决方 案,它的特点是不需要在客户端做任何特殊的操作,完全在服务器中进行处理,支持 get 和 post 请求。跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些 源站通过浏览器有权限...

    易语言原生http服务器 超轻 自动跨域-易语言

    仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...

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

    下面小编就为大家带来一篇js判断请求的url是否可访问,支持跨域判断的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    详解使用canvas保存网页为pdf文件支持跨域

    使用canvas保存网页为pdf文件支持跨域 正文 需求:用户点击下载,将页面保存为PDF文件并下载。 思路:继续使用Canvas截图后将画布内容转换为pdf文件。 首先我们需要引入js文件jspdf.debug.js 下载路径 ...

    跨域请求资源-jsonp和cors区别.pdf

    CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全...

    详解WebSocket跨域问题解决

    它实现了浏览器与服务器全双工通信,同时允许跨域通讯,是server push技术的一种很好的实现。我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下...

    Javascript跨域请求的4种解决方式

    什么情况下才会出现跨域? 假设域名是:http://www.example.com.cn/ 如果所请求的域名跟这个域名不致,这种情况就是跨域,由于跨域存在漏洞,所以一般来说正常的跨域请求方式是请求不到的。 解决方式: 一、window....

    Django跨域资源共享问题(推荐)

    跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或...

Global site tag (gtag.js) - Google Analytics