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

我正在用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

以上是 重定向Javascript时无法从同一目录加载资源 的全部内容, 来源链接: utcz.com/qa/397319.html

回到顶部