我有一个输出以下HTML的JSP:
<html>
<head>
<script type="text/javascript" src="jquery-1.4.3.min.js"></script>
</head>
<body>
</body>
</html>
当我在Chrome中打开此页面时,我得到:
Uncaught SyntaxError: Unexpected token : jquery-1.4.3.min.js 120
jquery-1.4.3.min.js:-1Resource interpreted as script but transferred with MIME type application/octet-stream. jquery-1.4.3.min.js -1
当我在IE 8中打开时,我得到:
Message: Expected '}'
Line: 109
Char: 466
Code: 0
URI: http://localhost:8080/jquery-1.4.3.min.js
我在使用JQuery 1.4.2和jQuery JavaScript的非明确版本时遇到了类似的错误。
请有人告诉我我做错了什么?
感谢。
更新
我修复了我的mime类型,但我仍然遇到错误。现在它只是一个
Uncaught SyntaxError: Unexpected token :
以下是我服务器上jQuery请求的响应头:
Cache-Control:max-age=32400, s-maxage=0
Connection:Keep-Alive
Content-Length:75134
Content-Type:text/javascript; charset=UTF-8
Date:Fri, 12 Nov 2010 11:28:21 GMT
Expires:Sat, 13 Nov 2010 11:28:21 GMT
Keep-Alive:timeout=15, max=100
Last-Modified:Fri, 12 Nov 2010 11:16:53 GMT
Pragma:cache
Server:Oracle Application Server Containers for J2EE 10g (9.0.4.0.0)
Transfer-Encoding:chunked
Google文件的回复标题为:
Age:119
Cache-Control:public, max-age=31536000
Content-Encoding:gzip
Content-Length:26769
Content-Type:text/javascript; charset=UTF-8
Date:Fri, 12 Nov 2010 11:26:22 GMT
Expires:Sat, 12 Nov 2011 11:26:22 GMT
Last-Modified:Fri, 15 Oct 2010 18:25:24 GMT
Server:sffe
Vary:Accept-Encoding
X-Content-Type-Options:nosniff
现在内容类型对我来说都是一样的。
还有其他想法吗?
解决 这个问题与jquery,mime类型等没什么关系。 这是我们的ant构建文件。那里有一个目标(我们已经在这段代码上使用了超过6年),它试图使用正则表达式搜索/替换来最小化任何JS文件。这打破了实际的jQuery javascript文件。 D'哦!
答案 0 :(得分:2)
您的服务器可能配置错误,并且将.js文件发送为application/octet-stream
而不是text/javascript
。我不知道为什么这会导致解析错误,就像你似乎得到的那样。
如果您使用jQuery的Google CDN网址(http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js),会出现同样的错误吗?
答案 1 :(得分:0)
你在问题之外发生了一些事情,其他一些包括干扰。这些不匹配:
<script type="text/javascript" src="jquery-1.4.3.min.js"></script>
请注意 1.4.3 ,而您的错误 1.4.2 :
URI: http://localhost:8080/jquery-1.4.2.min.js
在之前检查另一个文件包含没有正确结束括号的jQuery包含。