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

跨域访问解决及原因分析_为什么会有跨域问题转自: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的配置文件中配置拦截器,注意拦截的是所有的文件
跨域访问解决及原因分析_为什么会有跨域问题

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

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

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


相关推荐

  • openssl升级后ssh登录失败(无尽升级)

    OpenSSL升级3.0.0openssl官方下载地址:https://www.openssl.org/source/1.编译tarxfopenssl-3.0.0.tar.gzcdopenssl-3.0.0./config–prefix=/usr/local–openssldir=/usr/local/opensslmake&&makeinstall2.1备份原来的opensslmv/usr/bin/openssl/usr/bin/openssl

    2022年4月13日
  • centos挖矿程序解决

    centos挖矿程序解决centos挖矿程序解决第一种办法:1.top找到cup占比最高的程序2.ps-aux|grepCOMMAND3.crontab-l查看定时任务4.然后删除挖矿脚本和定时任务脚本5.如果删不掉chattr-i脚本6.然后再删7.然后crontab-e清除掉脚本内容…

    2022年6月22日
  • python处理fasta文件_fast ai forum

    python处理fasta文件_fast ai forumPython之fastai:fastai库的简介、安装、使用方法之详细攻略目录fastai库的简介fastai库的安装fastai库的使用方法1、计算机视觉分类2、计算机视觉分割fastai库的简介Fastai使用现代最佳实践简化了快速和准确的神经网络训练。fastai是一个深度学习库,它为从业者提供高级组件,可以快速轻松地在标准深度学习领域提供最先进的结果,并为研究人员提供可以混合和匹配构建的低级组件新方法。它旨在做到这两件事…

    2022年9月3日
  • (LeetCode-数组-1) 买卖股票的最佳时机[通俗易懂]

    (LeetCode-数组-1) 买卖股票的最佳时机

    2022年3月13日
  • 回话控制

    回话控制

    2022年2月8日
  • 跳转语句break和continue的区别「建议收藏」

    跳转语句break和continue的区别「建议收藏」在循环里面有两个关键操作break和continuebreak的操作是跳出当前循环continue是跳过本次循环注意:break可以用于for、switch、select,而continue只能用于for循环packagemain//必须有一个main包import“fmt”import“time”funcmain(){i:=0for{//for后面不写任何…

    2022年5月18日

发表回复

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

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