У меня есть Rails API со стороны клиента React.У меня все давно было в настройке приложения, и сегодня, когда я работал над ним, я внезапно начал получать сообщение об ошибке:
Access to XMLHttpRequest at 'http://localhost:3000/api/v1/user/authed'
from origin 'http://localhost:8000' has been blocked by CORS policy:
The value of the 'Access-Control-Allow-Origin' header in the response
must not be the wildcard '*' when the request's credentials mode is
'include'. The credentials mode of requests initiated by the
XMLHttpRequest is controlled by the withCredentials attribute.
Теперь ни один из запросов в моем приложении не работает вообще.
Запрос действительно проходит от приложения React к Rails API, и Rails API также отвечает правильно (я вижу это в терминале), но на самом деле ничего не происходит на стороне клиента, потому что я предполагаю, что он заблокированпо причине CORS.
Что я могу сделать, чтобы это исправить?Может ли быть так, что какой-то пакет каким-то образом обновлен в моей системе и отличается от проекта, поэтому теперь он ломается?
URL-адрес для запроса:
const ENDPOINT = '/api/v1',
PORT = 3000,
URL = window.location.protocol + '//' + window.location.hostname + ':' + PORT + ENDPOINT;
Запрос
$.ajax({
url: URL + '/' + resource,
type: verb,
data: params,
xhrFields: { withCredentials: true }
})
.done(callback)
.fail(errcallback);
Функции запроса имеют формат:
static get(resource, params, callback, errcallback) {
API.send('GET', resource, params, callback, errcallback);
}