Мой GET
запрос имеет один параметр, который является причиной этой маленькой проблемы. Ошибка, отображаемая на консоли в браузере:
ОПЦИИ http://localhost:8000/api/advertisements/sell_locally 0 ()
Тут особо нечего сказать, это просто запрос GET
, который указывает на одну конечную точку и передает параметр, который в Postman работает, но не работает в браузере. Эта конечная точка в Laravel api.php
выглядит следующим образом:
Route::get('advertisements/{type}', 'Api\AdvertisementController@all');
И в контроллере я получаю этот параметр следующим образом:
$type = Request::route('type');
Другой способ, которым я пытался, - указать параметр type
в методе AdvertisementController@all
. Также работал с почтальоном, но та же ошибка в браузере. Хотя здесь упоминаются «ОПЦИИ», они есть в верхней части моего api.php
файла:
header('Access-Control-Allow-Origin: http://localhost:3000');
header('Access-Control-Allow-Methods: OPTIONS, GET, POST, PUT, DELETE');
header('Access-Control-Allow-Headers: Accept, Content-Type, Authorization');
На стороне клиента действие Redux записывается так:
export function fetchAds(type) {
return (dispatch, getState) => {
const { auth: { token } } = getState();
return dispatch({
[RSAA]: {
endpoint: `${process.env.REACT_APP_API_HOST}/advertisements/${type}`,
method: "GET",
headers: {
"Authorization": `Bearer ${token}`,
"Accept": "application/json; charset=UTF-8",
},
types: [FETCH_ADS, FETCH_ADS_SUCCESS, FETCH_ADS_FAILURE]
}
})
}
}
У меня есть другие методы, и они работают нормально. Кажется, проблема связана только с передачей параметра. Я также попытался сделать формат ?type=${type}
, но безуспешно.