我有一个index.ejs文件,其中使用了脚本标记并编写了一些用于dom操作的JavaScript。现在,我想使用此文件中的变量到我的app.js文件中。如何实现呢? 对于引用ejs文件的变量,我们这样做:
{someVariable:value}
反之亦然,即将ejs文件的脚本标签中声明的访问变量访问app.js文件。
// index.ejs
<script>
window.onload=function(){var c = document.getElementById("city_search").options[1].value;
console.log(c);
};
function changeCarousel(){
var x = document.getElementById("city_search").value;
console.log(x);
}
</script>
如何在app.js中访问变量x,因为那里没有声明变量。
答案 0 :(得分:0)
如何在app.js中访问变量x,因为那里没有声明变量。
你不知道。不直接。变量x
位于客户端计算机上运行的浏览器内部,对服务器或服务器计算机不直接可用或不可见。
当浏览器中正在运行的网页中的Javascript中有一个变量时,将其传递到服务器的唯一方法是对服务器进行Ajax调用或将该值嵌入URL并请求网址中包含该值的新页面(作为路径或查询参数的一部分)。
要进一步了解,让我们回顾一下node.js服务器中EJS文件的工作原理。
在浏览器中运行脚本时,它们是与服务器完全独立的环境。它们在浏览器的客户端计算机上运行,而不是在服务器计算机上运行。要与服务器共享网页中的数据,您必须启动与服务器的一些通信并向服务器发送一些数据。有很多方法可以做到这一点。例如,您可以对服务器进行Ajax调用,从网页发送数据,让服务器接收到该Ajax请求,然后发送回响应。然后,您的客户端Javascript将获得该Ajax响应,然后可以对该结果执行任何所需的操作(将其插入到网页中,加载其他页面,将其显示给用户,等等)。
如果您更具体地告诉我们您要使用值x
做些什么,那么我们可以就如何实现这一点提出更详细的建议。