JavaScript跨域请求RESTful Web Servic
来源:互联网 发布:视频观看软件 编辑:程序博客网 时间:2024/05/21 07:59
当我们用js请求RESTful Web Service的时候,通常会出现跨域无法访问的问题,也就是无法正常得到我们要的值。jsonp是个解决问题的方法。但是,我们希望访问RESTful Web Service就像一般的ajax方法一样,不用每个都去搞一个jsonp和callback。这就需要我们在服务端进行一些设置,下面我用一个简单的 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 org.springframework.stereotype.Component;public class SimpleCORSFilter implements Filter { 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); } public void init(FilterConfig filterConfig) {} public void destroy() {}}
- Access-Control-Allow-Origin 为允许哪些Origin发起跨域请求. 这里设置为"*"表示允许所有,通常设置为所有并不安全,最好指定一下。
- Access-Control-Allow-Methods 为允许请求的方法.
- Access-Control-Max-Age 表明在多少秒内,不需要再发送预检验请求,可以缓存该结果
- Access-Control-Allow-Headers 表明它允许跨域请求包含content-type头,这里设置的x-requested-with ,表示ajax请求
转载:http://www.alixixi.com/web/a/2014092494021.shtml
0 0
- JavaScript跨域请求RESTful Web Servic
- 发布部署Web Servic
- servic
- 使用axis开发web servic客户端
- IOS 之 网络通信Web Servic
- javascript 跨域请求
- Ajax异步请求RESTFUL API之跨域问题解决方案
- 为 RESTful API 配置 CORS 实现跨域请求
- 为RESTful API配置CORS-实现跨域请求
- Restful Web Api Get 和 Post 请求的参数设置
- restful接口实现跨域访问,以及get请求对象参数对象封装,post请求
- go 原生http web 服务跨域restful api 写法
- JavaScript跨域调用基于JSON的RESTful API
- Web - jsonp实现web跨域请求
- JAVA web 跨域请求
- Javascript跨域请求资源
- ThinkPhp5下使用restful风格路由导致跨域put请求失效解决办法
- 网络请求之RestFul
- Qt程序启动画面播放(gif与swf两种动画格式) - 路上的脚印
- 碎碎念:工作上的挑战和机遇etc.
- 八数码2
- ngModel双向绑定的一些问题
- sqlmap namespace ibatis 加载
- JavaScript跨域请求RESTful Web Servic
- TextView TextField 上滑键盘
- iOS外包联系我,谢谢
- Python读写并且修改Excel
- Socket-UDP
- 10+年程序员总结的20+条经验教训(转)
- iOS 应用程序沙盒的应用
- iOSCoreData数据库:
- [OpenGL ES 07-1]光照原理