这个错误是由于浏览器的跨域安全策略引起的。默认情况下,浏览器会阻止在不同域名或端口上进行的跨域请求。
要解决这个问题,您可以在Django后端中配置CORS(跨域资源共享)。CORS允许服务器指定哪些来源(域名、协议和端口)可以访问其资源。
首先,确保您已经安装了django-cors-headers包:
pip install django-cors-headers
然后,在Django项目的设置文件中添加以下配置:
INSTALLED_APPS = [
...
'corsheaders',
...
]
MIDDLEWARE = [
...
'corsheaders.middleware.CorsMiddleware',
...
]
CORS_ALLOWED_ORIGINS = [
# 在这里添加允许访问的前端域名,例如:http://localhost:8080
]
# 如果需要允许带有身份验证信息的跨域请求,请将以下选项设置为True
CORS_ALLOW_CREDENTIALS = True
请确保将CORS_ALLOWED_ORIGINS替换为实际允许访问的前端域名。如果您想允许任何来源,请使用通配符'*'。
完成以上配置后,重新启动Django服务器并尝试再次发送fetch请求。现在应该不再报错”Access-Control-Allow-Origin”了。
内容由零声教学AI助手提供,问题来源于学员提问




