Wpis z mikrobloga

Cześć
Mam problem z wrzuceniem aplikacji napisanej w Laravelu na Heroku.
Aplikacja korzysta z Vue.js, mam utworzone endpointy i w konkretnych widokach z nich korzystam (axios). Lokalnie wszystko działa, lecz na Heroku mam cały czas taki problem:

Failed to load http://localhost/api/meals: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin '[http://my-app-name.herokuapp.com](http://my-app-name.herokuapp.com)' is therefore not allowed access.
Po stronie Laravela próbowałem dodawać takie paczki jak barryvdh/laravel-cors lub spatie/laravel-cors, ale to nic nie dało. Skończyłem na dodaniu tego w public/index.php:

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: *');

ale cały czas mam ten błąd

Gdy próbuję skorzystać z endpointa w Postmanie lub nawet przeglądarce to dostaję normalnie JSONa.
I teraz nie wiem o co chodzi, bo niby dodałem te nagłówki, a tu cały czas nie działa.

#naukaprogramowania #programowanie #php #laravel #webdev
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@anonim1133: Tak, ale to jest w obrębie jednej aplikacji. Za pomocą Laravel Mix kompiluję sobie wszystko do app.js i potem w odpowiednim widoku Blade dodaję komponent , coś jak entry point. Więc localhost jest raczej ok.

@menmikimen: Podczas pobierania danych przez axios mam raczej dobry
  • Odpowiedz
@bananowy_szejk

API.GETUSERPRODUCTS to: api/products

zmień na /api/products. To raczej nie to, ale nie zaszkodzi.

Więc localhost jest raczej ok.

Nie jest ok, łącząc się z aplikacją na serwerze klient ten "localhost" będzie postrzegał jako 127.0.0.1, a nie jako adres serwera
  • Odpowiedz