当前位置: 首页 > 面试题库 >

重定向Javascript时无法从同一目录加载资源

狄富
2023-03-14
问题内容

我正在用NodeJS编写应用程序。

我在同一目录中有两个文件,但是每当我调用其中一个时:

window.location.href = "./page.html";





window.location.href = "/page.html";

从我的index.html加载资源失败错误。

谢谢!


问题答案:

要使用Express提供静态文件,您应该使用express.static或以其他方式为每个拥有的html文件定义一个新路径,或者重新发明所提供的功能express.static

您可以执行以下操作:

app.js

var path = require('path');
var express = require('express');
var app = express();

var htmlPath = path.join(__dirname, 'html');

app.use(express.static(htmlPath));

var server = app.listen(3000, function () {
    var host = 'localhost';
    var port = server.address().port;
    console.log('listening on http://'+host+':'+port+'/');
});

将您的文件放在html子目录中。例如:

html/index.html

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>index.html</title>
</head>
<body>
<h1>index.html</h1>
<p>Redirection in 2s...</p>
<script>
setTimeout(function () {
   window.location.href = "./page.html";
}, 2000);
</script>
</body>
</html>

html/page.html

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>page.html</title>
</head>
<body>
<h1>page.html</h1>
<p>Redirection in 2s...</p>
<script>
setTimeout(function () {
   window.location.href = "./index.html";
}, 2000);
</script>
</body>
</html>

文件将每2秒重定向一次。

您可以从GitHub下载此示例:

  • https://github.com/rsp/node-express-static-example

有和没有Express的情况下,更多示例可以执行相同操作:

  • https://github.com/rsp/node-static-http-servers


 类似资料:
  • 我想在不同的子目录中保存不同的css和js文件,这是我的目录结构 然后我尝试将所有这些文件导入到我的索引中。html文件(由“/”映射),但没有正确导入。我应该配置什么使Spring boot能够在“资源”下的所有子目录中递归搜索资源?另外,如果我还想将所有html模板放在子目录中,该怎么办?

  • 问题内容: 我从Git存储库导入了一个项目,并在Eclipse中为其添加了Maven性质。在资源文件夹中,我添加了一个名为的配置文件。现在,每当我尝试从Java代码打开此文件时,都会得到。该文件也存在于maven编译项目后生成的文件夹中。 谁能告诉我可能是什么问题?我尝试加载此文件的Java代码是: 其中是一个对象。 谁能给我一些有关如何解决此问题的提示? 问题答案: 如果文件在编译后被放置在目标

  • 我从Git存储库中导入了一个项目,并在Eclipse中向其添加了Maven nature。在resources文件夹中,我添加了一个名为的配置文件。现在,每当我试图从我的Java代码打开这个文件时,我会得到。该文件也存在于maven编译项目后生成的文件夹中。

  • 现在我已经阅读了这里的文档:http://docs.oracle.com/javase/tutorial/uiswing/components/icon.html 但是我仍然不明白...我如何在我的代码中实现它? 我不能将getImage更改为getResources,因为它需要一些东西,我不知道是什么。 编辑:这是图像行现在的样子:图像pic=

  • 以下是错误按摩: 无法加载Asset:Assets/Images/Waiting.png当引发异常时,这是堆栈图像提供程序:AssetImage(bundle:null,name:“Assets/Images/Waiting.png”)图像键:AssetBundleImageKey(bundle:PlatformAssetBundle#e3e67(),name:“Assets/Images/Wai

  • 我读过https://flutter.dev/docs/development/ui/assets-and-images#asset-包依赖项中的图像和从资产中读取的文本文件,并应用了所有这些,但我的代码仍然无法工作。。。。 我为此打开了一个新项目,在主文件夹中创建了资产和文件: 然后,不信任Android Studio,我检查了vi,在pubspec.yaml一切都好: 该文件以以下内容结尾: