javascript - Razumijevanje pogreške "SyntaxError: expected expression, got '<'"


Upravo sam potrošio puno vremena pokušavajući shvatiti zašto mi Firefox i Chrome oboje pokazuju SyntaxError: expected expression, got '<' i odbijaju učitati skriptu na mojoj web stranici. Ispostavilo se da je problem bio zato što sam napisao

<script src="static/js/common.js"></script>

umjesto

<script src="/static/js/common.js"></script>

Sada potpuno razumijem zašto bi nedostajanje početnog kosa crta u putanji spriječilo pronalaženje skripte, ali hajde, sigurno JavaScript terminal može bolje obavijestiti o pogrešci. Zašto ne samo 404 Not Found?

Koji je logičan razlog da mi dade tako zavaravajuću pogrešku? Možda mogu nešto naučiti iz ovog iskustva i osjećati se bolje zbog tog ogromnog gubitka vremena kroz koji sam upravo prošao.

Odgovor #1

Nije dobio 404 Not Found. Poslužitelj je vratio 200 OK (što je vjerojatno bila greška u konfiguraciji) i HTML dokument koji je preglednik pokušao parseati kao JavaScript.

Moguće je da je poslao natrag 302 i preusmjeravanje na početnu stranicu koja je zatim dala već spomenuti 200 OK.