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

解决 : 拦截跨源请求

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

ajax -- django 已解决 -- 拦截跨源请求:CORS 头缺少 'Access-Control-Allow-Origin_第1张图片

错误信息:

 已拦截跨源请求:同源策略禁止读取位于 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,发现已经成功。

ajax -- django 已解决 -- 拦截跨源请求:CORS 头缺少 'Access-Control-Allow-Origin_第2张图片

 

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

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

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

你可能感兴趣的:(ajax -- django 已解决 -- 拦截跨源请求:CORS 头缺少 'Access-Control-Allow-Origin)