Ես փորձում եմ POST զանգ կատարել Django-ին React Native Web ճակատից տարբեր ենթադոմեյնների վրա:
Կարծում էի, որ CORS-ը ճիշտ է կարգավորել, բայց կարծես թե այդպես չէ:
Ահա թե ինչ տեսք ունի իմ Django settings.py-ը.
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_HEADERS = ['*']
CORS_ALLOWED_ORIGINS = ['https://api.example.com', 'https://example.com', 'https://www.example.com' ]
CSRF_TRUSTED_ORIGINS = [
'https://api.example.com', 'https://example.com', 'https://www.example.com'
]
ALLOWED_HOSTS = ["0.0.0.0", "api.example.com", "example.com"]
MIDDLEWARE = [
'corsheaders.middleware.CorsMiddleware',
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
]
INSTALLED_APPS = [
...
'corsheaders',
...
]
Կոնկրետ ի՞նչ եմ ես այստեղ սխալ անում: Սխալը, որը ես ստանում եմ, սա է.
Access to XMLHttpRequest at 'https://api.example.com/api/v1/pagescreate/' from origin 'https://example.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Եվ սա իմ Ջանգոյի տեսակետն է.
class PageCreateView(generics.CreateAPIView):
queryset = Page.objects.all()
serializer_class = PageSerializer
Ի՞նչը կարող է դա առաջացնել: Արդյո՞ք ես բացակայում եմ React-ում որոշ կարգավորումներ: Ես օգտագործում եմ axios զանգեր կատարելու համար, որի միակ վերնագիրը "Content-Type": "application/json"
է
ԽՄԲԱԳՐԵԼ. Կարո՞ղ է սա պայմանավորված լինել իմ սերվերի որոշ nginx կանոններով: Կամ գուցե իմ Kubernetes կոնֆիգուրացիան: Ես օգտագործում եմ Docker-ը այն կոնտեյները կարգավորելու համար և կարող եմ հեշտությամբ կապել Dockerfile-ը կամ իմ Kubernetes-ի կարգավորումներից որևէ տեղեկություն