Не удалось загрузить ресурс из того же каталога при перенаправлении Javascript

javascript html node.js

937 просмотра

1 ответ

98 Репутация автора

Я пишу заявку в NodeJS.

У меня есть два файла в одном каталоге, но каждый раз, когда я звоню:

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


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

из моего index.html я получаю ошибку загрузки ресурса.

Спасибо!

Автор: Kristoffer Abell Источник Размещён: 18.07.2016 04:34

Ответы (1)


1 плюс

74083 Репутация автора

Решение

Чтобы обслуживать статические файлы с помощью Express, вы должны использовать express.staticили иным образом вам придется определять новый маршрут для каждого HTML-файла, который у вас есть, или заново изобретать функциональность, предоставляемую вами express.static. (Если вы не хотите использовать Express для этого, посмотрите этот ответ .)

Вы можете сделать что-то вроде этого:

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:

Еще примеры, чтобы сделать то же самое с и без Express:

Другие связанные ответы:

Автор: rsp Размещён: 18.07.2016 05:31
32x32