服务器响应状态为 404(未找到)

问题描述 投票:0回答:2

我试图在另一个 HTML 文件中实例化一个 JavaScript 文件中的类,但我不断收到此错误。

这是 JavaScript 文件的代码:

class Puzzle {
  constructor(fenStart, pgnEnd) {
    this.fenStart = fenStart;
    this.pgnEnd = pgnEnd;
  }
}

这是 HTML 代码。应该注意的是,我也使用 chessboard.js 和 chess.js 并且所有内容都保存在同一个文件夹中。

<!DOCTYPE html>
<html>
  <head>
    <title>Chess</title>
    <base href="http://chessboardjs.com/" />
  <link rel="stylesheet" href="css/chessboard.css" />
  </head>
  <body>
  <script src="js/chess.js"></script>
  <div id="board" style="width: 400px"></div>
  <p>PGN: <span id="pgn"></span></p>
  <script src="js/json3.min.js"></script>
  <script src="js/jquery-1.10.1.min.js"></script>
  <script src="js/chessboard.js"></script>
  <script src="class.js"></script>

    <script>
      var pgnEl = $('#pgn');

      const x = new Puzzle("test", "test");

      pgnEl.html(x.fenStart);
    </script>
  </body>
</html>

导致此错误的原因是什么以及如何修复它?

javascript html http-status-code-404
2个回答
0
投票

这可能是由于文件位置不正确造成的,就像@sideroxylon所说,

js/class.js
而不是
class.js

“HTML

<base>
标签用于指定相对链接的基本 URI 或 URL。” https://www.tutorialspoint.com/html/html_base_tag.htm 这可能是您的文件无法访问的另一个原因。

也可能是由于某些 URL 被阻止。尝试打开开发者控制台(CTRL-SHIFT-I 或 F12)并查找页面上的任何错误。

如果您通过 HTTPS 加载,来自 HTTP 源的任何内容都可能被阻止。这是您的确切代码(使用每个库的在线版本),但将 class.js 文件作为常规脚本标记加载,并包括起始

<body>
标记。 https://jsfiddle.net/ckazwozg/ 正如您应该看到的那样,它运行得很好。

编辑:为了方便起见,这里是来自 JSFiddle 的原始源代码。

<!DOCTYPE html> <html> <head> <title>Chess</title> <link rel="stylesheet" href="https://rawgit.com/oakmac/chessboardjs/master/src/chessboard.css" /> </head> <body> <script src="https://cdnjs.cloudflare.com/ajax/libs/chess.js/0.10.2/chess.js"></script> <div id="board" style="width: 400px"></div> <p>PGN: <span id="pgn"></span></p> <script src="https://cdnjs.cloudflare.com/ajax/libs/json3/3.3.2/json3.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script src="https://rawgit.com/oakmac/chessboardjs/master/src/chessboard.js"></script> <script> // class.js class Puzzle { constructor(fenStart, pgnEnd) { this.fenStart = fenStart; this.pgnEnd = pgnEnd; } } </script> <script> var pgnEl = $('#pgn'); const x = new Puzzle("test", "test"); pgnEl.html(x.fenStart); </script> </body> </html>
    

0
投票
我遇到了同样的错误,但是我所做的是确保我的所有文件都保存到根文件夹(在您的情况下)我认为这是 js(因为您所有的扩展都指向该位置)在我的情况下我只使用了文件名给它 javascript 扩展名(.js)后,例如...

© www.soinside.com 2019 - 2024. All rights reserved.