Tìm kiếm trang web

javascript - Hiểu lỗi "SyntaxError: expected expression, got '<'"


Tôi vừa lãng phí rất nhiều thời gian cố gắng tìm hiểu tại sao Firefox và Chrome đều báo cho tôi SyntaxError: expected expression, got '<' và từ chối tải tập lệnh trên trang web của tôi. Hóa ra vấn đề là vì tôi đã viết

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

thay vì

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

Bây giờ tôi hoàn toàn hiểu tại sao thiếu dấu gạch chéo đầu trong đường dẫn lại khiến không tìm thấy script, nhưng mà, chắc chắn terminal javascript có thể thông báo lỗi tốt hơn. Tại sao lại không chỉ là 404 Not Found?

Lý do hợp lý khiến nó đưa cho tôi một lỗi gây hiểu lầm như vậy là gì? Có thể tôi học được điều gì đó từ trải nghiệm này và cảm thấy tốt hơn về khoảng thời gian hao phí khổng lồ mà tôi vừa chịu đựng.

Câu trả lời #1

Nó không nhận được lỗi 404 Not Found. Máy chủ đã gửi lại 200 OK (có thể là một lỗi cấu hình) và một tài liệu HTML mà trình duyệt đã cố gắng phân tích cú pháp như JavaScript.

Có thể nó đã gửi lại một mã 302 và chuyển hướng đến trang chủ, sau đó trang chủ đó đã trả mã 200 OK như đã đề cập.