django 和 Angular 4 中的错误 请求的资源上不存在“Access-Control-Allow-Origin”标头
Posted
技术标签:
【中文标题】django 和 Angular 4 中的错误 请求的资源上不存在“Access-Control-Allow-Origin”标头【英文标题】:error in django and angular 4 No 'Access-Control-Allow-Origin' header is present on the requested resource 【发布时间】:2018-11-13 03:37:30 【问题描述】:这是我的django
代码
我在测试删除功能时收到此错误。
请求中没有“Access-Control-Allow-Origin”标头 资源。因此不允许 Origin 访问。回应有 HTTP 状态码 500。
def delete(self):
''' Deletes an existed file or folder. '''
file = self.request.GET.get('path').lstrip("/")
path = os.path.join(self.root,file)
response = FileManagerResponse(path)
response.set_response()
if (self.is_safe_path(path)):
if os.path.isdir(path):
shutil.rmtree(path)
elif os.path.isfile(path):
os.remove(path)
return JsonResponse(response.response)
else:
return self.fileManagerError(path=file)
这是我的 Angular 4 代码
deleteFile(id)
let url = `http://127.0.0.1:8000/files/connectors/python/filemanager?time=1528047056540&mode=delete&path=$id&_=1528045987217`;
console.log(url);
return this.http.get(url);
【问题讨论】:
添加 response.response['Header'] = 'response['Cache-Control'] = 'no-cache'' techiediaries.com/django-cors 【参考方案1】:看看这两个帖子,它会解决你的错误:
How can I enable CORS on Django REST Framework
AngularJS + Django Rest Framework + CORS ( CSRF Cookie not showing up in client )
【讨论】:
以上是关于django 和 Angular 4 中的错误 请求的资源上不存在“Access-Control-Allow-Origin”标头的主要内容,如果未能解决你的问题,请参考以下文章
Angular 4 对 Django Rest 框架的 HTTP 请求
未提供 Angular + Django REST 身份验证凭据
Django 会话导致 Angular 出现 JWT“令牌丢失或不正确”错误
angular 4 和django 1.11.1 前后端交互 总结