【问题标题】:Jquery Uncaught SyntaxErrorJquery Uncaught SyntaxError
【发布时间】:2010-11-12 20:57:46
【问题描述】:

我有一个输出以下 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 文件。哦!

【问题讨论】:

    标签: java jquery html jsp


    【解决方案1】:

    您的服务器似乎配置错​​误,并且正在以application/octet-stream 而不是text/javascript 发送.js 文件。不过,我不确定为什么这会导致解析错误,就像您遇到的错误一样。

    如果您使用 jQuery 的 Google CDN URL (http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js),您会收到同样的错误吗?

    【讨论】:

    • 它适用于谷歌文件。让我仔细检查一下我的服务器配置。
    • 我已尝试更新我的 mime 类型以匹配 Google 的,但我仍然收到错误消息。我已经用细节更新了这个问题。如果您有任何其他想法,我们将不胜感激。
    【解决方案2】:

    您有问题之外的事情发生,其他一些包括干扰。这些不匹配:

    <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 包含的另一个文件之前,该文件没有正确的右大括号。

    【讨论】:

    • 抱歉 - 我在创建帖子时从各个窗口剪切和粘贴。当所有 jQuery 版本和文件名都正确时,我会收到错误消息。
    • 嗨 - 只是重新阅读您的评论...在 jQuery 之前我没有任何先前的包含。 JQuery 的 include 是 HTML 中唯一的一个 - HTML 与上面完全相同。
    • @A_M - 之前包含哪些文件?
    • 无。请参阅上面的 HTML。
    • @A_M - 你是说你包含 no 其他文件吗?
    猜你喜欢
    • 2011-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 2013-09-18
    • 1970-01-01
    • 1970-01-01
    • 2012-09-12
    相关资源
    最近更新 更多