如何让服务器本身支持跨域请求呢?
如果服务器是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的跨域访问了.
相关推荐
配置服务端支持跨域所应用到的jar包,另外还需要进行一些配置。详见我的博客“服务器端解决跨域问题的三种方法”
pdfjs跨域加载文件预览。亲测可以用。在SSM框架中实现的。但是原理是通用的 详情查看http://blog.csdn.net/u013132051/article/details/76066920
file协议导致的跨域问题以及解决方案.docx
然而,对于那些HTTP请求导致用户数据产生副作用的请求方法(特别是对于除了GET、某些MIME类型的POST之外的HTTP方法),该规范要求浏览器对请求进行“预先验”,通过发送HTTP的OPTIONS请求头询问服务器有哪些支持的...
ARM32-Nginx服务,支持RTMP/HTTP-FLV推拉流,支持flv.js跨域拉流,支持web端跨域代理/上传文件
在日常使用tomcat经常会因为tomcat不支持跨域访问导致许多问题,此文章主要解决tomcat跨域无法访问的问题。
仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...
前端跨域解决方案,jsonp和cros...然后客户端就可以通过与调用脚本一模一样的方式,来调用跨域服务器上动态生成的js格式文件。客户端在对JSON文件调用成功之后,也就获得了自己所需的数据。这就形成了JSONP的基本概念。
当使用ajax跨域请求时,浏览器报错:XmlHttpRequest error...使用CORS,可以使用普通的ajax实现跨域,这对于前端来说是极大的福音了,这个技术被现在大多数浏览器所普遍支持,因为跨域已经是普遍的要求,浏览器肯定会逐渐
一般来说,与后台利用CORS跨域资源共享将Access-Control-Allow-Origin设置为访问的域名即可,这个需要后台的配合,且有些浏览器是不支持的。 基于与合作方后台的配合,利用nginx方向代理来满足浏览器的同源策略来...
不支持跨域访问的 Web API 服务器。 提供两个不同版本的服务器代码(python 和服务器端 javascript,通过 node.js)。 Python版 服务器的python版本基于的服务器,使用cherrypy。 用法 python server.py ##Node ...
仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...
CORS 是官方的跨域解决方 案,它的特点是不需要在客户端做任何特殊的操作,完全在服务器中进行处理,支持 get 和 post 请求。跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些 源站通过浏览器有权限...
仅仅3个子程序(事件)实现http服务器且支持跨域 超级简单,超多注释,一看就懂 易语言做后端不再是梦 功能阉割的很严重,适合学习实验以及压力不大的http处理使用,不适合图片/大文件 服务器,不适合极高并发,返回...
下面小编就为大家带来一篇js判断请求的url是否可访问,支持跨域判断的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
使用canvas保存网页为pdf文件支持跨域 正文 需求:用户点击下载,将页面保存为PDF文件并下载。 思路:继续使用Canvas截图后将画布内容转换为pdf文件。 首先我们需要引入js文件jspdf.debug.js 下载路径 ...
CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。 整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全...
它实现了浏览器与服务器全双工通信,同时允许跨域通讯,是server push技术的一种很好的实现。我们使用Socket.io,它很好地封装了webSocket接口,提供了更简单、灵活的接口,也对不支持webSocket的浏览器提供了向下...
什么情况下才会出现跨域? 假设域名是:http://www.example.com.cn/ 如果所请求的域名跟这个域名不致,这种情况就是跨域,由于跨域存在漏洞,所以一般来说正常的跨域请求方式是请求不到的。 解决方式: 一、window....
跨域资源共享(CORS) 是一种机制,它使用额外的 HTTP 头来告诉浏览器 让运行在一个 origin (domain) 上的Web应用被准许访问来自不同源服务器上的指定的资源。当一个资源从与该资源本身所在的服务器不同的域、协议或...