前端cors解决跨域_vue如何解决跨域问题

前端cors解决跨域_vue如何解决跨域问题Cross-Origin Resource Sharing跨域资源共享是一份浏览器技术的规范,提供了 Web

1 什么是 CORS?

Cross-Origin Resource Sharing(CORS)跨域资源共享是一份浏览器技术的规范,提供了 Web 服务从不同域传来沙盒脚本的方法,以避开浏览器的同源策略,是 JSONP 模式的现代版。与 JSONP 不同,CORS 除了 GET 要求方法以外也支持其他的 HTTP 要求。用 CORS 可以让网页设计师用一般的 XMLHttpRequest,这种方式的错误处理比 JSONP 要来的好。另一方面,JSONP 可以在不支持 CORS 的老旧浏览器上运作。现代的浏览器都支持 CORS。

2 什么是跨域

如果在A网站中,我们希望使用Ajax来获得B网站中的特定内容

如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.

由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一与当前页面地址不同即为跨域。具体可以查看下表(来源)

[站外图片上传中……(1)]

3 问题

在 django 和vue.js 的一个项目中,做RESTFUL接口遇到跨域问题,在同一个主域名下,子域名不同, 用get方式可以成功访问,用post方式访问报跨域错误,无法访问

网上查到的 jsonp解决方法问题在于只支持 GET方法,无法支持POST。

4 解决方法

通过在服务器端引入cors解决跨域问题,形成和vue.js联合使用

cors原文地址

引入 django-cors-middleware

pip install django-cors-middleware

在 settings.py中添加,注意:不添加的话无法生效

INSTALLED_APPS = (

‘corsheaders’,

)

添加 中间件 监听

MIDDLEWARE = [

‘corsheaders.middleware.CorsMiddleware’,

‘django.middleware.common.CommonMiddleware’,

]

配置允许跨域访问的域名

CORS_ORIGIN_ALLOW_ALL = False

CORS_ORIGIN_WHITELIST = (

‘google.com’,

‘hostname.example.com’

)

默认值是全部:

CORS_ORIGIN_WHITELIST = ()

或者定义允许的匹配路径正则表达式.

CORS_ORIGIN_REGEX_WHITELIST = (‘^(https?://)?(\w+.)?>google.com




, )

默认值:

CORS_ORIGIN_REGEX_WHITELIST = ()

设置允许访问的方法:

CORS_ALLOW_METHODS = (

‘GET’,

‘POST’,

‘PUT’,

‘PATCH’,

‘DELETE’,

‘OPTIONS’

)

设置允许的header:

默认值:

CORS_ALLOW_HEADERS = (

‘x-requested-with’,

‘content-type’,

‘accept’,

‘origin’,

‘authorization’,

‘x-csrftoken’

)

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

(0)
上一篇 2023-11-17
下一篇 2023-04-01

相关推荐

  • 前馈神经网络手写数字识别

    前馈神经网络手写数字识别今天就来说说手写数字识别,我们上课的时候老师要求我们使用前馈神经网络和卷积神经网络两种神经网络实现手写数字识别。做一下这两个实验还真的挺有意思啊。import paddle.import matplotlib.paddle.train_reader = paddle.paddle…

    2023-11-17
    81
  • 数学笔记怎么做比较好_板书主板书写在哪一边

    数学笔记怎么做比较好_板书主板书写在哪一边数学课上,全程键盘手打1700页笔记。请看下图:不仅排版媲美教科书,而且还能够批注,检索关键词…笔记被他Po到网上之后,便引来大量围观。

    2022-12-14
    103
  • 提交六次的代码——LeetCode学习笔记1

    提交六次的代码——LeetCode学习笔记1嘿!这里是正在学习编程的CH。最近在网上搜索有关LeetCode的题目解答,发现解答并不多,于是也来做一个。这是第一篇文章,希望大家喜欢!初来乍

    2022-12-14
    107
  • MySQL事务浅析|由浅入深

    MySQL事务浅析|由浅入深MySQL事务浅析|由浅入深很多人都在讲事务,事务是个啥,我感觉我没开事物也没什么事情啊,学事务有必要吗?今天照旧,本文在一开始将讲解一些入门适合理解的知识,在后面逐层加深,如果对事务有了解,希望知道细节,可以在下面的目录跳一下文章目录MySQL事务浅析|由浅入深事务是个啥?ForExample1例子2脏写例子3脏读例子4不可重复读例子5幻读并发编程带来的数据库隐患通过对事务的分析,得到了四个特点ACIDMySQL如何保证事务完好持久性的保证原子性的保证隔离性的保证|MVCCMVCC没错

    2023-04-02
    112
  • IT程序员学习过程[亲测有效]

    IT程序员学习过程[亲测有效]https://github.com/Zeb-D/my-review 架构师职业者成长之路,系统性学习:哪里不会就系统性学哪里! 让我们一起 👍 👍 👍Star勉励吧 各知识点目录图 数据存储

    2023-05-22
    97
  • 深度卷积神经网络案例研究

    深度卷积神经网络案例研究在深度学习快速发展的时代,各种创新型的神经网络架构层出不穷。要想跟着时代的发展,对于这些案例的研究是很有必要的。本篇博客将基于Andrew Ng教授的深度学习专项课程第四门课程的第二周内容来针对卷积神

    2023-11-17
    71
  • Python实现定时任务的利器apscheduler

    Python实现定时任务的利器apschedulerapscheduler(Advanced Python Scheduler)是一个用于Python的灵活、强大的定时任务调度库。

    2023-11-15
    84
  • django 项目中使用 crontab 定时任务

    django 项目中使用 crontab 定时任务django 项目中使用 crontab 定时任务 django-crontab 在 linux 上的使用 需求:django 项目中需添加定时任务,定时执行某个函数或者自定义的命令等 使用步骤 1.

    2023-11-15
    79

发表回复

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