• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

React.js, api CORS, problem

VPS Starter Arubacloud
+1 głos
381 wizyt
pytanie zadane 29 kwietnia 2020 w JavaScript przez Rafixstan. Obywatel (1,070 p.)

Dzień dobry, otóż kontynuując moją naukę Reacta i obsługi api, stworzyłem bardzo prosty plik php który zwraca dane w jsonie, jest to moje "API" teraz chce te dane pobrać za pomocą fetch() i dalej na nich działać, zadowolony napisałem komponent i metodę, wszystko było dobrze do momentu próby pobrania tych danych, wchodząc w konsole widzę komunikat: 

Access to fetch at '' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

Szczerze, to nie wiedziałem o istnieniu czegoś takiego do dzisiejszego dnia, poszukałem w internecie rozwiązań ale jakoś żadne z nich mi nie działało, jakoś nie mogę zrozumieć tego mechanizmu, także proszę o pomoc kogoś obeznanego w temacie który wytłumaczy zielonemu o co w tym chodzi i jak tego się pozbyć aby to działało, nie proszę o gotowca tylko o sugestie, rad.

Mam jeszcze kilka pytań które nie dają mi spokoju:

Czemu jak pisałem inną aplikację która korzystała też z api(api pogodowe które pobiera dane o pogodzie z miasta) to żadnego problemu nie było i wszystko działało jak w zegarku? Teoretycznie mój plik api niczym takim sie nie wyróżnia bo też zwraca zwykłe dane w jsonie... a jednak pojawiają się takie kwiatki jak CORS.

Czy to możliwe że przez hosting ten dostęp jest blokowany? Mam swój wykupiony na linux.pl i tam u nich na serwerze znajduję się baza danych i plik php od api,a apke reacta mam na localhoscie, może to oni blokują? Z góry dzięki wszystkim za pomoc.

komentarz 29 kwietnia 2020 przez JakSky Stary wyjadacz (14,770 p.)

PHP blokuje dostęp ponieważ API pochodzi z innego źródła. Jest to bardzo częsty problem. 

Bardzo łatwo go rozwiązać dodając specjalnej nagłówki w odpowiedzi.

Tu jest to fajnie opisane:

https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 160 wizyt
pytanie zadane 7 stycznia 2020 w JavaScript przez saseta00 Użytkownik (700 p.)
0 głosów
1 odpowiedź 207 wizyt
pytanie zadane 8 sierpnia 2019 w PHP przez kordix Gaduła (3,910 p.)

92,453 zapytań

141,262 odpowiedzi

319,088 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...