关于js跨域Access-Control-Allow-Origin问题
来源:互联网 发布:vb6.0简单编程教学 编辑:程序博客网 时间:2024/06/16 08:44
比较常用的jsonp、cors
此次我们使用的是cors,下面给大家讲解一下cors是如何使用的。
CORS使用案例:
1、添加cors-filterjar包。
maven pom.xml文件配置:
<dependency>
<groupId>com.thetransactioncompany</groupId>
<artifactId>cors-filter</artifactId>
<version>1.3.2</version>
</dependency>
下载包cors-filter-1.3.2.jar
2、在web.xml中添加filter过滤器。
<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.supportsCredentials</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>cors.supportedHeaders</param-name>
<param-value>accept, authorization, origin</param-value>
</init-param>
<init-param>
<param-name>cors.supportedMethods</param-name>
<param-value>GET, POST, HEAD, OPTIONS</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CORS</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
跨域资源共享(CORS)
CORS(Cross-Origin Resource Sharing
)跨域资源共享,定义了必须在访问跨域资源时,浏览器与服务器应该如何沟通。CORS
背后的基本思想就是使用自定义的HTTP头部让浏览器与服务器进行沟通,从而决定请求或响应是应该成功还是失败。
通过jsonp跨域
现在问题来了?什么是jsonp
?维基百科的定义是:JSONP(JSON with Padding)
是资料格式 JSON
的一种“使用模式”,可以让网页从别的网域要资料。
JSONP
也叫填充式JSON,是应用JSON的一种新方法,只不过是被包含在函数调用中的JSON,例如:
callback({"name","trigkit4"});
JSONP由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数,而数据就是传入回调函数中的JSON数据。
CORS和JSONP对比
CORS与JSONP相比,无疑更为先进、方便和可靠。
1、 JSONP只能实现GET请求,而CORS支持所有类型的HTTP请求。
2、 使用CORS,开发者可以使用普通的XMLHttpRequest发起请求和获得数据,比起JSONP有更好的错误处理。
3、 JSONP主要被老的浏览器支持,它们往往不支持CORS,而绝大多数现代浏览器都已经支持了CORS)。
- 关于js跨域Access-Control-Allow-Origin问题
- Access-Control-Allow-Origin问题
- 跨域 Access-Control-Allow-Origin
- Access-Control-Allow-Origin 跨域
- 关于Access Control Allow Origin错误的问题
- html5 cocos2d js Access-Control-Allow-Origin
- Access-Control-Allow-Origin
- 跨域问题:Access-Control-Allow-Origin
- 跨域问题Access-Control-Allow-Origin
- Access-Control-Allow-Origin跨域问题
- Access-Control-Allow-Origin 跨域问题
- Access-Control-Allow-Origin跨域问题
- Access-Control-Allow-Origin 跨域问题
- ajax跨域Access-Control-Allow-Origin
- Javascript Flash Access-Control-Allow-Origin 跨域
- Access-Control-Allow-Origin与Ajax跨域
- Access-Control-Allow-Origin 解决方法
- Access-Control-Allow-Origin 错误
- IO多路复用之poll总结
- Android开发-Touch事件分发响应机制
- Java Socket编程 标准范例(多线程)
- 马走日 回溯实现(不是最佳方案但能找出路径)
- Donate
- 关于js跨域Access-Control-Allow-Origin问题
- UItableView的使用(1)
- SVN File Download
- AngularJS学习一
- TLD动态跟踪系统中的学习策略—P-N Learning
- AIDL的全称是什么?如何工作?
- log4j获取IP显示在日志中
- postgres常用指令
- IO多路复用之select总结