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

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

当前端页面与后台运行在不同的服务器时,就必定会出现跨域这一问题,本篇简单介绍解决跨域的三种方案,部分代码截图如下,仅供参考:
方式一:使用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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python字符串与数字的转化_字符串转数字c语言

    python字符串与数字的转化_字符串转数字c语言数字转为字符串这个相对比较简单我们可以使用Python中的str函数直接转换例如将123转换为’123’print(str(123))或者使用格式化print(‘%s’%123)字符串转为数字这个相对比较复杂一点因为Python没有提供类似于str函数的int函数如果转换的是0-9的一个数,那么只采用字典就可实现defchar2num(s):…

    2022年10月12日
    0
  • 行列式及其运算和性质[通俗易懂]

    行列式及其运算和性质[通俗易懂]行列式特别注意,行列式虽然表达为一系列数字的数表,但是其本质式一个数,这个跟矩阵有本质的区别.二阶行列式D=∣a11a12a21a22∣=a11a22−a12a21D=\begin{vmatrix}a_{11}&a_{12}\\a_{21}&a_{22}\end{vmatrix}=a_{11}a_{22}-a_{12}a_{21}D=∣∣∣∣​a11​a21​​a12​a22​​∣∣∣∣​=a11​a22​−a12​a21​三阶行列式D=∣a11a12a13a21a2

    2025年5月26日
    2
  • 关于revision 的cover letter

    关于revision 的cover letterhttp://emuch.net/html/201101/2741196.html 好,coverletter明白了。那SuggestedListofPotentialReferees如何处理呢?大家好,自己有篇elsevier的期刊在修改!不知道在提交修改稿的时候。大家的coverletter如何处理????因为系统要求专门的response

    2022年5月29日
    48
  • mac开发php集成环境「建议收藏」

    mac开发php集成环境「建议收藏」    我是一个使用mac开发的phper,虽然使用mac开发也就不到一年,但是mac上的一些技巧还是掌握的不错的,但实际开发中光有操作技巧是不行的,环境的效率也是很重要的,因为之前一直使用homestead 虚拟机,刚开始还没感觉它有多慢,但是后来感觉homestead真是太慢了,当然这可能也跟电脑的性能有关,我经常启动好几个虚拟机,在上面跑windows系统。…

    2022年6月28日
    35
  • java 时间轮算法_时间轮算法(TimingWheel)是如何实现的?

    java 时间轮算法_时间轮算法(TimingWheel)是如何实现的?前言我在2.SOFAJRaft源码分析—JRaft的定时任务调度器是怎么做的?这篇文章里已经讲解过时间轮算法在JRaft中是怎么应用的,但是我感觉我并没有讲解清楚这个东西,导致看了这篇文章依然和没看是一样的,所以我打算重新说透时间轮算法。时间轮的应用并非JRaft独有,其应用场景还有很多,在Netty、Akka、Quartz、ZooKeeper、Kafka等组件中都存在时间轮的踪影。我们…

    2022年10月1日
    0
  • (二)购物商城数据库设计-商品表设计

    (二)购物商城数据库设计-商品表设计大家好,今天我们来设计一下购物商城的商品表。我们的目标是表结构能够满足下面这张图的搜索:在设计表之前,我们先来了解下商品中的一个概念:SPU和SKUSPUSPU(StandardProductUnit):标准化产品单元。是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。SK…

    2022年6月20日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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