Можно ли манипулировать DOM через E JS? Или передать переменную, используемую в <script>через res.render? - PullRequest
0 голосов
/ 29 апреля 2020

Я передаю массив через res.render в мои результаты. E js папка

app.get("/result/:id", function (req, res) {
var imageArray = [];
pexelsClient.search(req.params.id, 10, 1)
    .then(function (result) {
        for (var i = 0; i < 10; i++) {
            imageArray.push(result.photos[i].src.original)
        }
        res.render('results', {imageArray:imageArray} );
    }).
catch(function (e) {
    console.log(e);
}); 

Эта переменная доступна через, если я пишу javascript через e js, но проблема в том, что с E JS я не могу манипулировать DOM, потому что он не распознает «документ». Если я пытаюсь получить доступ к этой переменной с помощью обычного тега script в конце файла, переменная не распознается! В этом примере переменная доступна, но не может получить доступ к документу.

<% let imageDiv = document.getElementById("imageContainer");
for(var i = 0; i < 10;i++){
    console.log(i)
        imageDiv.insertAdjacentHTML('beforeend','<img src="' + imageArray[i] + '">')
} %> 

В этом примере документ доступен для манипуляции, но я не могу получить доступ к переменной

<script>
let imageDiv = document.getElementById("imageContainer");
for(var i = 0; i < 10;i++){
    console.log(i)
        imageDiv.insertAdjacentHTML('beforeend','<img src="' + imageArray[i] + '">')
}
</script>

Any вход, чтобы решить это было бы удивительно!

...