你的前端和后端位于不同的端口上,这意味着你的ajax请求受跨源安全性的约束。
你需要设置后端以接受来自不同来源(或只是不同端口号)的请求。
这是我在从Restangular发送API请求时,从Django Rest Framework中收到相同错误时所做的事情。这是在Django Rest Framework的响应中添加CORS(跨源资源共享)标头。没有CORS标头是导致错误的原因。
在Django Project根文件夹(manage.py文件所在的位置)中,执行以下操作:
pip install django-cors-headers
我使用virtualenv进行了尝试,但无法使其正常工作,因此我在不切换至virtualenv的情况下安装了它并安装了它。
安装后,你必须对django settings.py进行一些编辑
INSTALLED_APPS = (
...
'corsheaders',
...
)
MIDDLEWARE_CLASSES = (
...
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
...
)
CORS_ORIGIN_ALLOW_ALL = True
将上面的设置为true可以接受所有来源。