跨域问题:解决跨域的三种方案

跨域问题:解决跨域的三种方案

当前端页面与后台运行在不同的服务器时,就必定会出现跨域这一问题,本篇简单介绍解决跨域的三种方案,部分代码截图如下,仅供参考:
方式一:使用ajax的jsonp
前端代码
跨域问题:解决跨域的三种方案
 服务器代码
跨域问题:解决跨域的三种方案
 使用该方式的缺点:请求方式只能是get请求

方式二:使用jQuery的jsonp插件
插件下载网址:https://github.com/jaubourg/jquery-jsonp
前端代码
跨域问题:解决跨域的三种方案

服务器代码
跨域问题:解决跨域的三种方案
 使用该方式的特点:与方式一相比,请求方式不只局限于get请求,还可以是post请求,但从服务器从获取的数据依然是jsonp格式

方式三:使用cors
前端代码
跨域问题:解决跨域的三种方案

服务器代码
跨域问题:解决跨域的三种方案
使用该方式的特点:与前两种方式相比,前端代码和未处理跨域前一样,即普通的ajax请求,但服务器代码添加了一段解决跨域的代码
    // 设置:Access-Control-Allow-Origin头,处理Session问题
        response.setHeader(“Access-Control-Allow-Origin”, request.getHeader(“Origin”));
        response.setHeader(“Access-Control-Allow-Credentials”, “true”);
        response.setHeader(“P3P”, “CP=CAO PSA OUR”);
        if (request.getHeader(“Access-Control-Request-Method”) != null && “OPTIONS”.equals(request.getMethod())) {

            response.addHeader(“Access-Control-Allow-Methods”, “POST,GET,TRACE,OPTIONS”);
            response.addHeader(“Access-Control-Allow-Headers”, “Content-Type,Origin,Accept”);
            response.addHeader(“Access-Control-Max-Age”, “120”);
        }

cors高级使用:在springmvc中配置拦截器
创建跨域拦截器实现HandlerInterceptor接口,并实现其方法,在请求处理前设置头信息,并放行
跨域问题:解决跨域的三种方案
在springmvc的配置文件中配置拦截器,注意拦截的是所有的文件
跨域问题:解决跨域的三种方案

转载于:https://www.cnblogs.com/MaxElephant/p/10244481.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/101187.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • qt tabwidget样式_qt tablewidget使用

    qt tabwidget样式_qt tablewidget使用QTabWidget::pane{border-top:2pxsolid;border-color:#f5f5f5;}QTabBar::tab{min-width:200px;min-height:25px;color:#333333;font:17px”MicrosoftYaHei”;border:0pxsolid;}QTabB…

  • SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解

    SATA、mSATA、M.2、M.2(NVMe)、PCIE固态硬盘接口详解固态硬盘概念固态驱动器(SolidStateDrive),俗称固态硬盘,固态硬盘是用固态电子存储芯片阵列而制成的硬盘,因为台湾英语里把固体电容称之为Solid而得名。SSD由控制单元和存储单元(FLASH芯片、DRAM芯片)组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,在产品外形和尺寸上也完全与普通硬盘一致。被广泛应用于军事、车载、工控、视频监控、网络监控、网…

  • RC有源滤波器之带通滤波器(四)

    RC有源滤波器之带通滤波器(四)记录一下,方便以后翻阅~过去的滤波器都是由R、L、C等无源元件组成,称为无源滤波器。现在的滤波器大都是由R、C元件与有源器件(如运算放大器)组成,称为RC有源滤波器。常见滤波器类型有低通滤波器、高通滤波器、带通滤波器、带阻滤波器、全通滤波器等。RC有源带通滤波器带通滤波器允许某一频率范围内的信号通过,衰减或抑制此频率范围以外的频率信号。理想带通滤波器的模频特性如下图所示,Wc2和Wc1分别为上下截止频率。RC有源带通滤波器器电路如下图所示:电压传输函数为:其模:…

  • MYSQLServer2008R2详细的图文安装教程

    MYSQLServer2008R2详细的图文安装教程本文主要总结了在win7系统上安装Mysql_Server2008(64位)的详细图文教程,具体的安装步骤如下所示:MysqlServer2008R2企业版下载地址:(直接打开链接,默认用的是迅雷下载,里面自带序列号)ed2k://|file|cn_sql_server_2008_r2_enterprise_x86_x64_ia64_dvd_522233.iso|4662884352|1D…

  • 使用group by,having,count函数查询表中某字段相同内容的数据

    使用group by,having,count函数查询表中某字段相同内容的数据

  • Unity 3D 游戏引擎

    Unity 3D 游戏引擎简介Unity3D也称Unity,是由UnityTechnologies公司开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具。Unity3D可以运行在Windows和MacOSX下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、WindowsPhone8和Android平台。也可以利用UnityWebPlayer插件发布网页游戏,支持Mac和Windo…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号