AX IOS CORS ПРОБЛЕМА. Сервер имеет «Access-Control-Allow-Origin: *», но Ax ios не видит его. Почему? - PullRequest
0 голосов
/ 15 марта 2020

У меня проблема с CORS с топором ios.

С сервером все в порядке, я отправляю Access-Control-Allow-Origin: * на все маршруты.

Я могу даже вход в систему с использованием того же бэкэнда, но по какой-то причине выход из системы не работает, ax ios не может видеть заголовки.

Я сделал видео: https://youtu.be/vHfyk8BteLA

Может кто-нибудь объяснить это? Когда я проверяю сеть с помощью GET в браузере, заголовок появляется, но когда get запускается с помощью ax ios, заголовок исчезает.

logout = () => {

        const token = window.localStorage.getItem('jwt_access_token');
        const request = axios.post('https://localhost/vintiapi/public/api/logout?token='+token);

        this.setSession(null);

        request.then(response => {

            console.log('logout');

        });
};

1 Ответ

2 голосов
/ 15 марта 2020

В сообщении об ошибке указывается, что предварительный запрос не получает заголовок. Если вы используете модуль cors, вам нужно обработать запрос OPTIONS самостоятельно :

// From: https://expressjs.com/en/resources/middleware/cors.html#enabling-cors-pre-flight
var express = require('express')
var cors = require('cors')
var app = express()

app.options('/products/:id', cors()) // enable pre-flight request for DELETE request
app.del('/products/:id', cors(), function (req, res, next) {
  res.json({msg: 'This is CORS-enabled for all origins!'})
})

app.listen(80, function () {
  console.log('CORS-enabled web server listening on port 80')
})

Или вы можете включить его для всех предварительных запросов:

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