【问题标题】:why is jquery not loading为什么jquery没有加载
【发布时间】:2015-03-17 19:19:01
【问题描述】:

由于某种原因,当我尝试通过 cdn 加载 jquery 时,它运行良好

script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"

但是,当我尝试使用本地文件加载它时,它不起作用

script type="text/javascript" src="javascripts/jquery-1.11.2.min.js"

并显示此错误:

Uncaught SyntaxError: Unexpected token <                  jquery-1.11.2.min.js:1 

我必须说我的服务器在 node.js 上运行

【问题讨论】:

  • 你能发布完整的标签声明吗?

标签: javascript jquery node.js


【解决方案1】:

您的标签似乎有语法错误。

试试这个。

<script type="text/javascript" src="javascripts/jquery-1.11.2.min.js"></script>

【讨论】:

    【解决方案2】:

    似乎内部 jquery-1.11.2.min.js 发生了错误。 没有在包含script标签的文档中。所以,问题是:为什么你的jquery-1.11.2.min.js 的本地副本包含&lt;?答案是它很可能不会。 jquery-1.11.2.min.js 的请求可能会导致 HTML 响应,浏览器尝试将其加载为 JavaScript,但在第一个字符上失败。确保 javascripts/jquery-1.11.2.min.js 是 JavaScript 文件的正确路径。

    可以证明是这种情况,因为SyntaxError 是一个JavaScript 错误。 MDN 说以下(强调我的):

    JavaScript 引擎 在解析代码时遇到不符合语言语法的标记或标记顺序时,会抛出 SyntaxError

    因此,错误是由 JavaScript 引擎引发的,这意味着浏览器实际上正在尝试加载脚本文件。从错误消息中可以看出,错误是在jquery-1.11.2.min.js:1 处抛出的,这是jquery-1.11.2.min.js 的第一行。您可以使用保存在名为 foo.html 的文件中的以下代码重现相同的错误消息:

    <!DOCTYPE html>
    <html>
        <head>
            <script type="text/javascript" src="foo.html"></script>
        </head>
        <body></body>
    </html>
    

    或者,您可以查看等效代码的演示 here(检查您的控制台)。

    【讨论】:

    • 有人知道我为什么被否决了吗?一旦我知道为什么,我可以改进我的答案。
    • 只是总结一下,有时当您有一个 404 页面或一条不起作用的路由时,您实际上会看到类似于 &lt;html&gt;&lt;body&gt;Error: unable to find page&lt;/body&gt;&lt;/html&gt; 的页面的第一个字符。打开您要链接的脚本并查看该页面是否有效。
    • @Djave 谢谢!正如你所提到的,我也建议它可能是一个 404 页面,但我最终将其编辑掉,因为我不想让任何人对我的矛盾感到困惑。如果它是真正的 404(带有适当的状态代码),Chrome 将记录 "net::ERR_FILE_NOT_FOUND" 或 "404 (Not Found)" ' 将其传递给 JavaScript 引擎。因此,它很可能是没有 404 状态代码的 404 页面。
    猜你喜欢
    • 1970-01-01
    • 2016-12-14
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    相关资源
    最近更新 更多