使用内联 <script> 从 html 文件加载 js 文件时出现 404 错误

Posted

技术标签:

【中文标题】使用内联 <script> 从 html 文件加载 js 文件时出现 404 错误【英文标题】:Getting a 404 error when loading js file from an html file with inline <script> 【发布时间】:2021-12-31 13:04:53 【问题描述】:

这是我网站的文件结构:

click here for image

由于某种原因,当我将脚本添加到我的 index.html 时:

<script type="text/javascript" src="script.js"></script>

<script type="text/javascript" src="./script.js"></script>

它返回一个 404 not found 错误。这一定是我在这里遗漏的一些微不足道的东西。

chrome 控制台的错误是这样的

GET http://127.0.0.1:5000/script.js net::ERR_ABORTED 404 (NOT FOUND)

如您所见,index.html 和 script.js 在同一个文件夹中,奇怪的是当我直接双击文件时,它加载正常:

file:///Users/.../matchik/templates/index.html 加载正常

【问题讨论】:

请在询问调试错误时分享错误消息。 p.s.您的文件结构图像未正确嵌入,无法查看。 感谢@FinHARRIS 我已添加错误消息 我找到了与我的问题最相似的答案:***.com/questions/46349370/… 【参考方案1】:

一般来说,您的 HTTP 服务器不知道 script.js 文件。 无论您使用什么 HTTP 服务器,您都需要确保它知道文件在哪里并且可以访问它。 请参阅您的 HTTP 服务器配置。或发布有关如何启动应用程序的更多详细信息。

[更新] 哦,我看到您只需打开浏览器即可直接使用浏览器加载您的index.htmlfile:///Users/.../matchik/templates/index.html

尝试使用 HTTP 服务器提供应用程序的内容。 Running a simple local HTTP server

否则,您的浏览器将无法解析您打开的 HTML 文件所请求的文件。这部分是因为浏览器的安全策略。否则,任何页面都可以从文件系统请求任何资源。

玩得开心;)

【讨论】:

感谢您的回复。我正在使用 PyCharm 的内部网络服务器来启动网络服务器。当我直接使用浏览器加载 index.html 时,它出人意料地检测到了 js 文件,而网络服务器却没有。是否需要在 PyCharm 中进行配置?

以上是关于使用内联 <script> 从 html 文件加载 js 文件时出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章

在 ASP.Net 中使用 tinymce 内联 div InnerHtml

如何使用包含内联 JS 的 <script> 标记动态添加 div 以便执行此 WAS?

htm中样式的设置

htm5基础篇

RequireJS - 在 require 流和内联中加载 AMD 模块

JavaScript:具有 SRC 属性的内联脚本?