6

I just wasted a lot of time trying to figure out why Firefox and Chrome were both telling me SyntaxError: expected expression, got '<' and refusing to load the script on my webpage. It turns out the issue was because I wrote

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

instead of

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

Now I totally understand why missing the leading slash in the path would make it unable to find the script, but c'mon, surely the javascript terminal can do a better job at giving me an error. Why not just a 404 Not Found?

What is the logical reason it would give me such a misleading error? Maybe I can learn something from this experience and feel better about that huge time-suck I just endured.

3
  • 1
    This sounds like your webserver returned the incorrect response (200 OK along with HTML content) rather than the browser doing something wrong. You should fix your webserver. Commented May 8, 2015 at 14:49
  • if you click the error message in the console it should take you to the scripts tab of dev tools and you should see the 200 error doc and then know what had happened Commented May 8, 2015 at 14:51
  • Are you sure it didn't find something? Is there actually a file at the address "static/js/common.js"? It looks to me like it found something; just not what you wanted it to find. Commented May 8, 2015 at 14:53

1 Answer 1

6

It didn't get a 404 Not Found. The server sent back a 200 OK (which was probably a configuration error) and an HTML document which the browser attempted to parse as JavaScript.

Possibly it sent back a 302 and a redirect to the homepage which then gave the aforementioned 200 OK.

Sign up to request clarification or add additional context in comments.

3 Comments

ah yes. I definitely learned something out of this. My server was returning an HTML file, so my server clearly needs to be reconfigured. Thanks for helping out!
@J-bob in a case like this, the Firebug console (or even the built-in console in Chrome) is invaluable in seeing what's going on in terms of what is being sent to the server and what the server is sending back.
@Quentin - were you able to fix the problem. If so, I'd be very grateful if you shared the solution. I have the same issue. Thanks!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.