Как перенаправить на другую страницу со страницы ejs - PullRequest
1 голос
/ 21 июня 2019

мой код:

<%
var result = [];
if(result.length>0)
{
 //do nothing
}
else
{
 //redirect page to "/product-not-found"
 //window.location.replace("http://stackoverflow.com"); is not working
}
%>

Примечание: без передачи res, req от контроллера node.js

когда я добавляю этот код:

window.location.replace("http://stackoverflow.com");

это не работает для меня. покажи мне ошибку:

window is not defined
    at eval (eval at compile (\node_modules\ejs\lib\ejs.js:618:12), <anonymous>:215:37)
    at returnedFn (\node_modules\ejs\lib\ejs.js:653:17)
    at tryHandleCache (\node_modules\ejs\lib\ejs.js:251:36)
    at View.exports.renderFile [as engine] (\node_modules\ejs\lib\ejs.js:482:10)
    at View.render (\node_modules\express\lib\view.js:135:8)
    at tryRender (\node_modules\express\lib\application.js:640:10)
    at Function.render (\node_modules\express\lib\application.js:592:3)
    at ServerResponse.render (\node_modules\express\lib\response.js:1012:7)
    at \controllers\productController.js:1274:8
    at \node_modules\mongoose\lib\model.js:4733:16
    at \node_modules\mongoose\lib\utils.js:263:16
    at \node_modules\mongoose\lib\aggregate.js:973:13
    at \node_modules\kareem\index.js:135:16
    at processTicksAndRejections (internal/process/task_queues.js:82:9)

1 Ответ

1 голос
/ 21 июня 2019

Вот хак, который вы можете попробовать

1-Создайте файл с именем redirect.ejs со следующим кодом

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta name="robots" content="noindex, nofollow">
        <meta http-equiv="refresh" content="1;url=<%= url %>">
        <script type="text/javascript">
            window.location.href = "google.com"
        </script>
    </head>
    <body>
        If you are not redirected automatically, <a href="<%= url %>">click here</a>.
    </body>
</html>

2 - Назовите этот файл как частичный в вашем коде, как этот

<%
var result = [];
if(result.length>0)
{
 //do nothing
}
else
{
%>
<%- include('redirect.ejs')%>// redirect to
 <%
}%>

Дайте мне знать, если это работает для вас

...