分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

django + vue.js 解决跨域问题

发布时间:2023-09-06 02:03责任编辑:苏小强关键词:js跨域django

浏览器跨域报错:"No: Access-Control-Allow-Origin":

 解决方案1:

     在view视图函数中 给封装好的list_查看这个方法这个函数给父类

clss Oldboy (ModelViewset): ???????queryst =Course.objects.all() ???????serializer_Class =CoureSerializerdef ?list(self,request,*args,**kwargs) ??????response = super().list(request,*args,**kwargs)# 
    respones["No: Access-Control-Allow-Origin"] ="*" ?#{在 ="*"这里可以写为本地地址:http://localhost:端口}
                                  如果输入本地地址报错 还需要改为="*"
    return respones

 问题这样写的话 如果后台每次的方法中都需要这个操作传过值,那以后 都得一个一个往进添加 这个跨域报错这样会出现代码冗余:

所以有了解决作用域2:

        把每次前端向 后端请求的url地址 跨域报错都放到中间件重,项目再起来的时候 直接把跨域报错通过中间件掠过,

      操作中间件的模块在setings中拿到 from django.utils.deprecation import MiddlewareMixin

      操作代码:

          

from django.utils.deprecation import MiddlewareMixinclass corsMiddleware(MiddlewareMixin) 继承 MiddlewareMixin  def process_reponse(self,request,reponse): ????????respones["Access-Control-Allow-Origin"] ="*" ???????????return response

写完中间件后 在seetings中 中间件MIDDLEWARE最后一行加入  增加中间件这个类的目录名称和类名:
‘app01.middlwares.cors.corsMiddleware‘

中间件 普通的—跨域 之 中间件—复杂跨域: 

  OPTTONS 是针对ajax 发送methon的中data接受时herard请求头时候那不搭配Content-type字符串类型 所以转为json数据格式后

   后请求头herdl 不支持 非json 格式所以需 需要content——Type 进行序列号

  

      

    

django + vue.js 解决跨域问题

原文地址:https://www.cnblogs.com/jsp0/p/9280557.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved