tmpbook/django-with-vuejs

跨域问题

tacy opened this issue · 1 comments

tacy commented

参考您的教程, 出现跨域问题, 麻烦看看问题出在哪里.

django setting:

CORS_ORIGIN_ALLOW_ALL = True

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'corsheaders',
'rest_framework', # DRF
'stock',
]

MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'corsheaders.middleware.CorsMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

vue用axios发送的请求, console报错:

createError.js?f777:15 Uncaught (in promise) Error: Request failed with status code 403 at createError (eval at <anonymous> (app.js:1260), <anonymous>:15:15) at settle (eval at <anonymous> (app.js:1842), <anonymous>:18:12) at XMLHttpRequest.handleLoad (eval at <anonymous> (app.js:1242), <anonymous>:77:7)

@tacy 你这个是csrf_token的问题吧,禁用掉
'django.middleware.csrf.CsrfViewMiddleware',
这个中间件是最快的解决方法