Документ не определен на node.js - Как я могу импортировать переменную из другого файла. js на сервер node.js? - PullRequest
0 голосов
/ 07 февраля 2020

Редактировать: На самом деле, моя проблема - «Как использовать« значение »из выбора. js на сервере. js?» Я хочу направить пользователя на страницу поиска в соответствии с его / ее выбором.

Я новичок в веб-программировании. У меня есть сервер. js и выбор. js. сервер. js - это файл узла, и мой сервер находится в нем. selection. js - мой сменщик класса предметов. Я изменяю класс выбранного элемента с выбором. js и пытаюсь использовать этот выбранный элемент с сервера. js. Когда я пробую ниже коды, я беру это дерьмо: документ не определен на node.js

Это действительно больно. Я пытаюсь решить это около часа. Но ничего! Пожалуйста, помогите мне: /

выбор. js:

var iconContainer = document.getElementById('iconContainer');
var icon = iconContainer.getElementsByClassName("item");

for (var i = 0; i < icon.length; i++) {
  icon[i].addEventListener("click", function() {
    var current = document.getElementsByClassName("active");
    current[0].className = current[0].className.replace(" active", "");
    this.className += " active";
    
  const btnSearch = document.querySelector("#btnSearch");
  btnSearch.addEventListener("click", () => {
    // get the active item's value
    const value = document.querySelector(".item.active span").innerText;
    console.log("value: ", value);
    // do fetch
    

  });
  
});
}
module.exports={searchPath: "/"+value};

сервер. js:

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

var path = require('path');
app.use('/public', express.static(path.join(__dirname, 'public')));

// '/' girdisi için index.html getirilecek.
app.get('/', function (req, res) {
    fs.readFile('index.html', function(err, data) {
        res.writeHead(200, {'Content-Type': 'text/html'});
        res.write(data);
        res.end();
      });
    
});
//---------------------------------------------------
// Server kuruyoruz.
var server = app.listen(8081,"127.0.0.1", function () {
   var host = server.address().address;
   var port = server.address().port;
   
   console.log('Server http://' + host + ':' + port+' adresinde çalışıyor...');
});

var search = require('./public/js/selection');
console.log(search.searchPath);

1 Ответ

0 голосов
/ 08 февраля 2020

Итак, код, который вы пометили как selection.js, должен быть на вашей веб-странице, либо непосредственно встроен, либо связан с тегом <script>, чтобы он мог запускаться на веб-странице в браузере.

Затем этот код может выполнить вызов Ajax, используя интерфейсы XMLHttpRequest или fetch() в браузере, к маршруту на вашем сервере и передать требуемое значение.

Этот маршрут на вашем сервере (который необходимо определить и добавить код для) может затем изучить это значение и решить, какие данные возвращать вызов Ajax.

Ваш Javascript на веб-странице, а затем получать эти возвращенные данные из вызова Ajax и решает, что с ним делать, например вставлять новое содержимое на страницу для просмотра пользователю, заставлять браузер загружать другую страницу или обновлять sh текущую страницу или что-либо еще подходящее.

...