Как получить доступ к переменной x в app.js, поскольку она там не объявлена.
Вы не можете.Не напрямую.Переменная x
находится внутри браузера, работающего на клиентском компьютере, и не доступна напрямую или не видна вашему серверу или вашему серверному компьютеру.
Когда у вас есть переменная в Javascript на веб-странице, которая работает вбраузер, единственный способ получить это на ваш сервер - это сделать вызов Ajax на ваш сервер или встроить это значение в URL и запросить новую страницу с этим значением в URL (как часть пути или параметра запроса).
Чтобы лучше понять, давайте немного рассмотрим, как работает файл EJS с вашего сервера node.js.
- Страница запросов браузера (которая представлена вашим файлом EJS).
- Ваш сервер получает запрос на эту страницу.
- Сервер собирает любые релевантные данные для этой страницы, помещает эти данные в объект и затем отображает страницу EJS.Это расширит страницу EJS и включит в нее любые нужные данные.
- Отображаемая страница EJS отправляется браузеру в качестве ответа на исходный запрос HTTP.
- Браузер получает теперь HTMLpage (обработанная страница EJS), анализирует ее и отображает ее.
- Браузер анализирует и запускает любые теги сценариев на странице.
В точке, где сценарии выполняются в браузере,они являются полностью отдельной средой от вашего сервера.Они работают на клиентском компьютере в браузере, а не на сервере.Чтобы обмениваться данными с веб-страницей с сервером, вы должны инициировать некоторую связь с сервером и отправить серверу некоторые данные.Есть несколько способов сделать это.Например, вы можете сделать Ajax-вызов на сервер, отправить ему данные с веб-страницы, получить от сервера этот Ajax-запрос и затем отправить ответ.Ваш Javascript на стороне клиента затем вернет ответ Ajax и сможет сделать с этим все, что захочет (вставить его на веб-страницу, загрузить другую страницу, показать его пользователю и т. Д.).
Если бы вы более подробно рассказали нам, что вы пытаетесь сделать со значением x
, мы могли бы дать более подробную рекомендацию о том, как этого добиться.