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

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

以下站点为django建站,专注分享python相关技术。
python相关技术圈--> http://www.ofus.ink
本文介绍了解决前后端分离项目中出现的跨源请求问题的方法。通过在Django项目中添加中间件并设置'Access-Control-Allow-Origin'头部,实现了跨域资源共享(CORS),使前端能够成功请求后端API。
739

被折叠的 条评论
为什么被折叠?



