CORS-ошибка при использовании django в качестве серверной части для приложения ioni c - PullRequest
0 голосов
/ 19 июня 2020

Я использую Django Rest Framework в качестве серверной части для моего приложения Ioni c. Я настроил API с помощью JWT, и с почтальоном все работает нормально. Как только я пытаюсь выполнить вызов API из своего приложения Ioni c, я получаю следующие сообщения об ошибках:

Ошибка 1 Запрос на перекрестное происхождение заблокирован: та же политика происхождения не позволяет читать удаленный ресурс по адресу https://www.mywebsite.com/api/movies. (Причина: заголовок 'password' не разрешен в соответствии с заголовком 'Access-Control-Allow-Headers' из ответа предварительной проверки CORS).

Ошибка 2 Запрос на другой источник заблокирован: то же самое Политика происхождения запрещает чтение удаленного ресурса по адресу https://www.mywebsite.com/api/movies. (Причина: запрос CORS не выполнен).

Я запускаю приложение django на веб-сервере apache2.

django -cors-headers установлено,
добавлено в installed_apps,
добавлены в промежуточное ПО и CORS_ORIGIN_ALLOW_ALL = Ture

В моем приложении Ioni c запрос выглядит следующим образом:

Service

fetchMovies() {

  const httpOptions = {
    headers: new HttpHeaders({
      'Content-Type':  'application/json',
      'Authorization': `Bearer ${this.authService.getToken()}`,
      'username': 'USERNAME',
      'password': 'PASSWORD'

    })
  }

    return this.http.get(this.url, httpOptions).pipe(tap(resData => {
      console.log(resData);
    }));
  }

Я получаю токен так:

 getToken() {
    return this.http.post('https://www.mywebsite.com/api-token', this.params);
  }

И пользуюсь сервисом следующим образом:


ionViewWillEnter() {
    this.moviesServcie.fetchMovies().subscribe();
  }

Есть ли у кого-нибудь идеи, что я делаю не так? Если вам нужна дополнительная информация, не стесняйтесь писать комментарий! Заранее благодарим за любую помощь

1 Ответ

1 голос
/ 19 июня 2020

Вам необходимо использовать собственный плагин ioni c вот ссылка ниже

https://ionicframework.com/docs/native/http

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...