如何解决跨域问题(代码片段)

stfei stfei     2022-12-21     516

关键词:

前端向后端发送ajax请求时,会遇到跨域问题:

  在浏览器中打开,按F12查看console会发现如下报错:

技术分享图片

所以需要后端在返回响应时在响应头返回跨域允许的键值对。  

cors.py

 

#  此py文件只为了在中间件中增加跨域的响应值

from django.utils.deprecation import MiddlewareMixin
from django.conf import settings

class CorsMiddleware(MiddlewareMixin):

    def process_response(self,request,response):
        response["Access-Control-Allow-Origin"] = "http://localhost:8080"
        # 将你想跨域的地址(url)加到 后面,如上。
        return response

 

 

settings中的中间件配置中加上自己写的中间件:

技术分享图片

 

注意 : 以上时简单请求的跨域解决方式。

技术分享图片

下面是解决复杂请求的跨域解决方式:

  发送数据时点F12可以看到发送请求的方式:

技术分享图片

 

这时候就不能直接像简单请求的解决方式一样,就要做如下操作,在cors.py文件中加上如下代码:

#  此py文件只为了在中间件中增加跨域的响应值

from django.utils.deprecation import MiddlewareMixin
from django.conf import settings

class CorsMiddleware(MiddlewareMixin):

    def process_response(self,request,response):
        response["Access-Control-Allow-Origin"] = "http://localhost:8080"
        # 将你想跨域的地址(url)加到 后面,如上。
        if request.method == "OPTIONS":
            response["Access-Control-Allow-Methods"] = "PUT,DELETE"
            # 请求方式的放行(简言之,就是可以允许以上请求方式的跨域行为)
            response["Access-Control-Allow-Headers"] = "Content-Type"
            
            # 在 settings 设置后可写成如下等同于上面的:
            # response["Access-Control-Allow-Methods"] = settings.CORS_METHODS
            # response["Access-Control-Allow-Headers"] = settings.CORS_HEADERS
        return response

  settings 配置:

技术分享图片

 

如何解决跨域问题(代码片段)

(1)考察目标1)跨域出现的原因2)解决的跨域的方式有哪些。(2)题目分析1)跨域出现的原因:同源策略。什么是同源策略:同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策... 查看详情

关于前端如何解决跨域问题(代码片段)

跨域什么是跨域  浏览器为保证安全,增加的同源限制,其实请求是发出了,服务器也相应了,但是被浏览器劫持了。所谓同源是指,域名,协议,端口均相同,浏览器才会觉得符合要求。  一旦有一个不同源,浏览器便会... 查看详情

跨域问题如何解决?(代码片段)

????????关注后回复 “进群” ,拉你进程序员交流群????????作者丨超哥哥来源丨main方法“ 今天的内容比较大众,相信广大程序猿都有遇到过,那么咱们就不多BB了,直接往下看。”首先聊聊为什么会出现跨域问题... 查看详情

为什么会有跨域的问题出现,如何解决跨域问题(代码片段)

为什么会有跨域的问题出现,如何解决跨域问题什么是跨域​定义:跨域是指a页面想获取b页面资源,如果a、b页面的协议、域名、端口、子域名不同,所进行的访问行动都是跨域的,而浏览器为了安全问题一般都... 查看详情

为什么会有跨域的问题出现,如何解决跨域问题.(代码片段)

  目录  什么是跨域  什么是同源策略解决方式1、jsonp1.1)去创建一个script标签1.2)script的src属性设置接口地址1.3)接口参数,必须要带一个自定义函数名要不然后台无法返回数据。1.4)通过定义函数名去接收后... 查看详情

如何解决跨域问题(代码片段)

解决跨域三种方法什么是跨域,为什么要解决跨域。根据浏览器的同源策略。当浏览器不能响应执行网站的脚本时候,首先想到第一个问题点是否存在跨域问题。就是所谓同源策略,何为同源就我们经常上网是通过网址访问网站... 查看详情

解决跨域问题,实例调用百度地图(代码片段)

...问我跨域的问题了九种“姿势”让你彻底解决跨域问题2.如何解决跨域?JSONP: 查看详情

项目出现跨域问题,如何解决(代码片段)

现象昨天在做下载图片的时候,出现下图的现象.昨天在做下载图片的时候,出现下图的现象.后端数据库存储的是图片的url,要根据这个url请求图片服务器得到图片进行下载。为什么会出现跨域?像上面的情况就... 查看详情

cors和jsonp的区别,如何解决跨域问题?(代码片段)

在我们了解JSONP和CORS之前我们先明确一下:我们为什么要使用cors和jsonp呢?实际上,cors和jsonp都是用于解决跨域问题,当两个页面的协议、域名、端口号中有一个不一致时就存在了跨域,一旦出现跨域,浏... 查看详情

实战,springboot中如何解决cors跨域问题~(文末送书)(代码片段)

CORS(Cross-OriginResourceSharing)"跨域资源共享",是一个W3C标准,它允许浏览器向跨域服务器发送Ajax请求,打破了Ajax只能访问本站内的资源限制。在前后分离的架构下,我们经常会遇到跨域CORS问题,... 查看详情

pythonflask框架跨域问题的解决方法(代码片段)

文章目录一、跨域是什么二、如何解决跨域问题1.跨域请求的过程总结一、跨域是什么从一个域名去请求另一个域名,这个过程称之为跨域。浏览器从一个域名的网页去请求另一个域名的资源,域名、端口、协议有一个不... 查看详情

vue中如何解决跨域(代码片段)

1、配置代理跨域    config/index.jsproxyTable:'/api':target:'http://shuige.wicp.vip/',//目标接口域名changeOrigin:true,//是否跨域pathRewrite:'^/api':'/'//重写接口后台接口指向不统一所以指向所有/,cssSourceMap 查看详情

实战,springboot中如何解决cors跨域问题~(文末送书)(代码片段)

...trol-Allow-Origin'headerispresentontherequestedresource.下面看一下如何让你的SpringBoot项目支持CORS跨域。SpringBoot处理跨域在SpringBoot后端处理跨域比较简单,只需要在项目中添加如下一个配置类即可:/** * Spring Boot 2.0 解决跨域... 查看详情

nodejs+koa2如何解决跨域问题(代码片段)

基础知识同源策略是指三同:同协议/同域名/同端口对比双方:当前页面的地址和Ajax获取数据的地址(这里可能有点抽象,下面我会举例子说明)常见报错场景描述场景一:我在浏览器地址栏中输入http://12... 查看详情

问题:跨域及解决方案(代码片段)

...致css、js或者ajax对后端请求等资源无法访问的情况。要想解决跨域问题,首先先得了解什么是跨域问题。问题:什么是跨域跨越问题是由于浏览器的同源策略,是浏览器强制要求的安全策略,所以想要了解跨域,首先得了解同源... 查看详情

解决跨域session同步问题(代码片段)

跨域来源:(前端站点和后端API布署到不同的站点) 解决方案一.服务端设置1.配置允许跨域请求publicclassBaseAction/***支持跨域请求*@authorfxd*@paramresponse*@sinceJDK1.6*/protectedvoidcrossComain(HttpServletRequestrequest,HttpServletResponserespo 查看详情

springboot如何优雅的解决ajax+自定义headers的跨域请求[转](代码片段)

...页面地址不同即为跨域。具体可以查看下表:2、springboot如何解决跨域问题1.普通跨域请求解决方案:①请求接口添加注解@CrossOrigin(or 查看详情

springsecurity系列教程解决springsecurity环境中的跨域问题(代码片段)

...c;我会带大家进行代码实现,看看在SpringSecurity环境中如何解决跨域问题。一.启用SpringSecurity的CORS支持1.创建web接口我先在SpringBoot环境中,创建一个端 查看详情