React + Codeigniter Ответ на предпечатную проверку недействителен - PullRequest
0 голосов
/ 27 декабря 2018

У меня есть сайт, который был создан с использованием codeigniter MVC, но, следуя современным тенденциям, я пытаюсь создать интерфейс, основанный на реакции.Я все еще хочу использовать оригинальный каркас и контроллеры codeigniter, но вместо этого или для рендеринга представлений я хочу, чтобы он возвращал обычный JSON.В настоящее время я застрял в том, что не могу отправить запросы от приложения реагирования, которое работает в режиме отладки на локальном хосте: 3000, к моему codeigniter api, работающему на apache http://mywebsite:80

, вот как я инициирую запрос:

fetch("http://mywebsite/Api" + route + '/', {
        headers: {
          'Accept': 'application/json',
          'Content-Type': 'application/json'
        },
        method: "POST",
        redirect: 'follow',
        body: JSON.stringify(data),
        dataType : 'json'
      })

Это ошибка, которую я получаю в консоли:

Не удалось загрузить http://mywebsite/ApiAuth/login/: Ответ на предпечатную проверку недействителен (перенаправление)

Моя php-страница отправляет обратно:

header('Content-Type: application/json;charset=UTF-8');
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: DELETE, HEAD, GET, OPTIONS, POST, PUT');
header('Access-Control-Allow-Headers: Content-Type, Content-Range, Content-Disposition, Content-Description');
header('Access-Control-Max-Age: 1728000');

Консольные выходы:

Request URL: http://mywebsite/ApiAuth/login/
Request Method: OPTIONS
Status Code: 302 Found
Remote Address: [::1]:80
Referrer Policy: no-referrer-when-downgrade

1 Ответ

0 голосов
/ 28 декабря 2018

Был в состоянии решить проблему, установив заголовки ответов Apache и метод перенаправления следующим образом:

#Redirect for CORS Preflight request              
RewriteCond %{REQUEST_METHOD} OPTIONS 
RewriteRule ^(.*)$ $1 [R=200,L]

#Set headers to access CORS Requests / allowing localhost only
Header always add Access-Control-Allow-Origin "*"
Header always add Access-Control-Allow-Headers "origin, x-requested-with, content-type"
Header always add Access-Control-Allow-Methods "PUT, GET, POST, DELETE, OPTIONS"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...