Невозможно отправить GET-запрос с параметрами в Laravel API. ОПЦИЯ ошибка - PullRequest
0 голосов
/ 04 сентября 2018

Мой 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}, но безуспешно.

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