Miałem sytuację w zeszłym tygodniu z żądaniami do serwera z Vue używając Axios, gdzie pole data było puste. Serwer miał włączony CORS (Cross-Origin Resource Sharing).
Najważniejszą rzeczą jest to, że było to żądanie GET uruchomione w Chrome. Gdy uruchomiłem mój url w przeglądarce - była odpowiedź w formacie JSON. Przetestowałem to żądanie w Swagger i odpowiedź była widoczna. Dodatkowo przetestowałem to z curl i odpowiedź również była widoczna.
Więc następny pomysł... sprawdźmy to w Firefox. I... działało dobrze! Ale co się dzieje z Chrome?
W konsoli było widoczne "ostrzeżenie":

Cross-Origin Read Blocking (CORB) blocked cross-origin response
with MIME type application/json. See https://www.chromestatus.com/feature/5629709824032768 for more details.
Więc czym jest CORB?
Cross-Origin Read Blocking (CORB) to algorytm, który może identyfikować i blokować wątpliwe ładowania zasobów cross-origin w przeglądarkach internetowych zanim dotrą do strony internetowej. CORB zmniejsza ryzyko wycieku wrażliwych danych, trzymając je dalej od stron internetowych cross-origin. W większości przeglądarek trzyma takie dane poza niezaufanymi kontekstami wykonywania skryptów. W przeglądarkach z Site Isolation może trzymać takie dane całkowicie poza niezaufanymi procesami renderowania, pomagając nawet przeciwko atakom typu side channel jak Spectre.
A jak rozwiązać problem?
Cross-Origin Read Blocking (CORB) blocked cross-origin response ROZWIĄZANIE
Upewnij się, że te zasoby są serwowane z poprawnym nagłówkiem odpowiedzi "Content-Type" z poniższej listy, oraz nagłówkiem odpowiedzi "X-Content-Type-Options: nosniff". Te nagłówki zapewniają, że Chrome może zidentyfikować zasoby wymagające ochrony, bez polegania na zawartości zasobów.
Źródło: https://www.chromium.org/Home/chromium-security/corb-for-developers/
Mówiąc prosto:
-
Ustaw nagłówek odpowiedzi: X-Content-Type-Options: nosniff
-
Sprawdź czy "Content-Type" jest poprawny
Miałeś podobny problem?




