关于跨域请求的问题-创新互联

解决方案:

网站的建设成都创新互联专注网站定制,经验丰富,不做模板,主营网站定制开发.小程序定制开发,H5页面制作!给你焕然一新的设计体验!已为主动防护网等企业提供专业服务。

1,原声ajax中提供了些属性

dataType:'jsonp'

但是我没测试过。

2:如果你项目没有用框架,servlet实现的,那在你需要跨域请求的那个servlet配置中增加如下配置(注意红色部分)


      abc
      xxx.xx.xx.xx.pressAgencyCtrl
       
           跨域访问
           accessControlAllowOrigin
           *
       

   

   
      abc
      /kyqq
   

3:如果你使用了框架,比如springmvc等,提供以下两种方式,创建一个filter,在filter中实现,如下

 view pla----------------------------------------------------------------------

  1. package xxxxxxxxxxxxxxx;

  2. import java.io.IOException;

  3. import javax.servlet.Filter;

  4. import javax.servlet.FilterChain;

  5. import javax.servlet.FilterConfig;

  6. import javax.servlet.ServletException;

  7. import javax.servlet.ServletRequest;

  8. import javax.servlet.ServletResponse;

  9. import javax.servlet.http.HttpServletResponse;

  10. public class Kuayu implements Filter {

  11.     @Override

  12.     public void init(FilterConfig filterConfig) throws ServletException {

  13.     }

  14.     @Override

  15.     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)

  16.             throws IOException, ServletException {

  17.         //在此处实现跨域设置

  18.         HttpServletResponse httpResponse=(HttpServletResponse) response;

  19.         httpResponse.setHeader("Access-Control-Allow-Origin", "*");//设置所有的请求都可跨域请求

  20.         httpResponse.setHeader("Access-Control-Allow-Headers", "Authentication");//认证

  21.         chain.doFilter(request, httpResponse);

  22.     }

  23.     @Override

  24.     public void destroy() {

  25.     }

  26. }

  27. web.xml 配置

  28.     kuayuqingqiu

  29.     com.xx.xx.Kuayu

  30.     kuayuqingqiu

  31.     /*

-------------------------------------------------------------------------------------------

在spring框架4.2版本后,Spring给出了注解的方式解决问题。

即在Controller控制器中,在Controller注解上方添加@CrossOrigin注解。

最后来点名词解释:

Access-Control-Allow-Origin: 允许跨域访问的域,可以是一个域的列表,也可以是通配符"*"。这里要注意Origin规则只对域名有效,并不会对子目录有效。即http://foo.lwq/lxq/ 是无效的。但是不同子域名需要分开设置,这里的规则可以参照同源策略

Access-Control-Allow-Credentials: 是否允许请求带有验证信息,XMLHttpRequest请求的withCredentials标志设置为true时,认证通过,浏览器才将数据给脚本程序。

Access-Control-Expose-Headers: 允许脚本访问的返回头,请求成功后,脚本可以在XMLHttpRequest中访问这些头的信息

Access-Control-Max-Age: 缓存此次请求的秒数。在这个时间范围内,所有同类型的请求都将不再发送预检请求而是直接使用此次返回的头作为判断依据,非常有用,大幅优化请求次数

Access-Control-Allow-Methods: 允许使用的请求方法,以逗号隔开

Access-Control-Allow-Headers: 允许自定义的头部,以逗号隔开,大小写不敏感

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


当前名称:关于跨域请求的问题-创新互联
转载源于:http://bzwzjz.com/article/ejihj.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: H5网站制作 外贸网站设计方案 外贸营销网站建设 网站建设公司 定制网站建设多少钱 成都网站建设 网站制作 高端网站设计推广 成都网站建设 定制网站制作 高端网站设计 网站建设改版 网站设计制作 高端网站设计 成都商城网站制作 成都网站制作 成都网站制作 网站建设方案 成都网站建设 成都企业网站建设 高端品牌网站建设 成都网站制作