跨域访问解决及原因分析_为什么会有跨域问题

跨域访问解决及原因分析_为什么会有跨域问题转自:https://www.cnblogs.com/itmacy/p/6958181.html跨域问题:解决跨域的三种方案当前端页面与后台运行在不同的服务器时,就必定会出现跨域这一问题,本篇简单介绍解决跨域的三种方案,部分代码截图如下,仅供参考:方式一:使用ajax的jsonp前端代码 服务器代码 使用该方式的缺点:请求方式只能是get请求方式二:使用jQuery的jsonp插件…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

转自:https://www.cnblogs.com/itmacy/p/6958181.html

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

当前端页面与后台运行在不同的服务器时,就必定会出现跨域这一问题,本篇简单介绍解决跨域的三种方案,部分代码截图如下,仅供参考:
方式一:使用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的配置文件中配置拦截器,注意拦截的是所有的文件
跨域访问解决及原因分析_为什么会有跨域问题

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

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

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

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

(0)


相关推荐

  • Intellij IDEA 导入 eclipse web 项目详细操作[通俗易懂]

    IntellijIDEA导入eclipseweb项目详细操作第一步:准备工具我用的是IntelliJIDEA2017.1(64)这个版本的,在eclipse中找到我之前写skye_cnmy(非Maven),skye_client(Maven)的项目导入。第二步:在IntellijIDEAFile–>New–>ProjectfromExisting…

  • 下载和安装MySQL(傻瓜)教程[通俗易懂]

    下载和安装MySQL(傻瓜)教程[通俗易懂]1.下载MySQL打开MySQL官网:MYSQL官网2.安装安装mysql时一直卡在startingtheserver这一位置,解决办法3.检查是否安装成功4.安装成功后进行登录

  • 2批处理for循环中截取字符串_批处理for循环嵌套

    2批处理for循环中截取字符串_批处理for循环嵌套一、参数/dfor/d%%变量in(集)do命令/d参数是指定仅对目录而不是文件执行的for命令。例1:在命令行输入(不是在批处理,之后不再解释)for/d%ain(c:\*.*)doecho%a运行会把C盘根目录下的全部目录分次显示出来,而不显示文件名看起来有点乱,如果把命令提示回显关闭就清晰了:for/d%ain(c:\*….

    2022年10月12日
  • PyCharm中如何设置切换Python Console终端的Python版本「建议收藏」

    PyCharm中如何设置切换Python Console终端的Python版本「建议收藏」在使用PyCharm的PythonConsole终端时,有时我们会需要切换终端运行的Python版本,比如下图中我的Console当前使用的版本是Python2,但是我现在想切换到Python3版本,如何做呢? 我的PyCharm版本是2018.1专业版:首先选择File——>Settings,然后进行如下操作:双击Build,Execution,Deploymen…

  • 前端项目开发经验总结(持续更新)

    前端项目开发经验总结(持续更新)这篇博客是我在持续的开发以及维护项目中遇到的坑,并总结出做法,以备需要立项新项目需要注意的点。1.字符串一定能提到语言包中就提到语言包,不要贪图方便写死在代码中或者写死在美术资源中很多程序员喜欢贪图方便,在固定不变的字符串直接使用静态文本,代码中根本不去做控制,这样做一是不方便策划对于描述的一个更改,二是如果需要国际化,会造成很多不必要的工作。2.在存在字符串拼接的情况下…

  • Java 读取某个目录下所有文件、文件夹

    Java 读取某个目录下所有文件、文件夹

发表回复

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

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