开发者问题收集

包含的 JQuery 文件放在哪里

2017-05-27
103

我有一个客户,他想在无法访问 Internet 的内部服务器上运行 Web 应用程序,因此我无法在标头中包含如下内容,但在我可以访问 Internet 时,此内容可以正常工作

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>

(简化的)主页如下 index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta content="text/html;charset=utf-8" http-equiv="Content-Type"/>
  <meta content="utf-8" http-equiv="encoding"/>
  <script src="/var/lib/tomcat7/webapps/ROOT/jquery-3.2.1.min.js""></script>
  <script>
    $(document).ready(function(){
      addListener();
    });

    function addListener()
    {
      document.getElementById('browse').addEventListener('change', handleFileSelect, false);
      document.getElementById('fakeBrowse').addEventListener('click', handleBrowseClick, false);
    }

    function handleBrowseClick()
    {
      var fileinput = document.getElementById("browse");
      fileinput.click();
    }

    function handleFileSelect(event)
    {
      var config = '';
      var file = event.target.files[0];
      var reader = new FileReader();
      reader.onload = function(event) {
        config = event.target.result;
        document.getElementById('config_id').innerHTML = config;
      }
      reader.readAsText(file);
    }
  </script>
</head>
<body>
  <input type="file" id="browse" name="fileupload" style="display:none"/>
  <input type="button" value="Upload" id="fakeBrowse"/>
  <output id="list"></output>
  <textarea id="config_id"></textarea>
</body>

我遇到的问题是,每次加载页面时,控制台日志中都会出现一条错误消息,指向此行

<script src="/var/lib/tomcat7/webapps/ROOT/jquery-3.2.1.min.js""></script>

错误消息如下

GET http://localhost:8080/var/lib/tomcat7/webapps/ROOT/jquery-3.2.1.min.js
Failed to load resource: the server responded with a status of 404 (Not Found)

我确定文件 jquery-1.7.1.min.js 位于我指定的路径,该路径与 index.html 位于同一位置。我还检查了两个文件是否具有相同的所有权和相同的权限

然后它抱怨“$”符号

Uncaught ReferenceError: $ is not defined at (index):8

我也尝试使用像这样的相对路径

<script src="jquery-3.2.1.min.js""></script>

或像这样

<script src="~/jquery-3.2.1.min.js""></script>

但没有运气。

有人可以指出我做错了什么吗?

编辑 1

jquery-1.7.1.min.js 是拼写错误。我的意思是 jquery-3.2.1.min.js

编辑 2

错误是由路径末尾的冗余双引号引起的。正确的路径如下

<script src="jquery-3.2.1.min.js"></script>
3个回答

只需尝试通过在浏览器中输入完整的 URL 来直接访问 jquery 文件,直到获得正确的 URL。您应该看到 jquery 文件的内容。因此,首先尝试使用

http://localhost:8080/jquery-3.2.1.min.js

访问它,如果没有,请再试一次,直到获得正确的 URL

Mohamed-Yousef
2017-05-27

错误信息告诉您一切,您的路径不正确。

LXhelili
2017-05-27

/var/lib/tomcat7/webapps/ROOT/... 是绝对文件路径。

如果您在 Web 服务器上运行此程序,则需要从文档根目录开始。

如果 index.html 位于文档根目录的顶层,则路径应该只是“jquery-3.2.1.min.js”。

parapet
2017-05-27