博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
跨域问题:解决跨域的三种方案
阅读量:6882 次
发布时间:2019-06-27

本文共 1027 字,大约阅读时间需要 3 分钟。

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

方式一:使用ajax的jsonp
前端代码
 服务器代码
 使用该方式的缺点:请求方式只能是get请求
方式二:使用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

你可能感兴趣的文章
动软.NET系统框架发布免费版本
查看>>
python 学习笔记 表达式(9)
查看>>
pku 1328 第一周训练 ——贪心
查看>>
Android应用资源---绘制资源类型(Drawable)(六)
查看>>
zoj 4777 Watashi's BG DFS解决01背包
查看>>
Outlook.com Rename 杂记...
查看>>
一直以来伴随我的一些学习习惯(三):阅读方法(转载)
查看>>
Directx11教程(57) 环境映射
查看>>
Smark.Data 灵活的查询描述
查看>>
查看Linux 环境系统、CPU位数
查看>>
hudson 邮件信息优化
查看>>
oracle字符集。
查看>>
Visual Studio 2010 Crystal Report 子报表 提示 您请求的报表需要更多信息 解决方案
查看>>
shell执行脚本路径设置
查看>>
Combination Sum II
查看>>
Android中focusable属性的妙用——底层按钮的实现
查看>>
PHP构造函数的执行顺序
查看>>
求1-n中各个数字每位上出现1的次数总和
查看>>
快速排序
查看>>
[Yii Framework] Error Handler for Modules
查看>>