http跨域解决方案

Posted h微笑

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http跨域解决方案相关的知识,希望对你有一定的参考价值。

两种解决http请求方案跨域,callback+CORS



      javascript是一种在Web开发中经常使用的前端动态脚本技术。

在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略)。

这一策略对于JavaScript代码能够访问的页面内容做了很重要的限制,

即JavaScript只能访问与包含它的文档在同一域下的内容







01



ajax请求代码 必须是get方式


$.getJSON("host/earchController.do?ajaxs&callback=?",function(data){ 

});

后台必须拼接字符串返回数据:

 String cb = request.getParameter("callback");

 out.write(cb+"("+jsonArray.toString()+")");





02


                                      CORS



CORS的基本原理是通过设置HTTP请求和返回中header,告知浏览器该请求是合法的,具体做法是在服务端写个过滤器Filter,过滤指定的请求在header中加入请求头

  HttpServletResponse response = (HttpServletResponse) res;

   response.setHeader("Access-Control-Allow-Origin", "*");

   response.setHeader("Access-Control-Allow-Methods", "GET");

   response.setHeader("Access-Control-Max-Age", "3600");

   response.setHeader("Access-Control-Allow-Headers", "x-requested-with");





===================================

         欢迎关注小白,精彩尽在嗨 -h微笑




以上是关于http跨域解决方案的主要内容,如果未能解决你的问题,请参考以下文章

跨域解决方法

回顾下跨域解决方案httpmiddleware

http跨域解决方案

angular.js跨域post解决方案

Spring MVC 的跨域解决方案

跨域及解决方案