ajax -- django 已解决 -- 拦截跨源请求:CORS 头缺少 'Access-Control-Allow-Origin

解决 : 拦截跨源请求

在最近【前后端分离】项目中,ajax请求api,出现如下图所示错误:

image.png

错误信息:

 已拦截跨源请求:同源策略禁止读取位于 http://127.0.0.1:8000/users/api/v1/register/ 的远程资源。(原因:CORS 头缺少 'Access-Control-Allow-Origin')。

python相关技术圈--> http://www.ofus.ink

原文地址:http://www.ofus.ink/articles/article/47/

解决办法:

1. 在app下创建一个middlewares.py文件,写入如下代码:

from django.utils.deprecation import MiddlewareMixin
class MyTest(MiddlewareMixin):
    def process_response(self, request, response):
        response['Access-Control-Allow-Origin'] = "*"
        return response

2. 在setting.py中注册自己刚才写的中间件:

MIDDLEWARE = [
    ... ...
    'apidemo.middlewares.MyTest',
]

3. 重启当前项目。

再次请求API,发现已经成功。

image.png

 

以下站点为django建站,专注分享python相关技术。

python相关技术圈--> http://www.ofus.ink

原文地址:http://www.ofus.ink/articles/article/47/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值