我正在尝试将一个数组从 ejs 传递到 JavaScript。我可以获取 ejs 中的值,但不能从 JavaScript 中获取。我总是未定义,因为变量“test”的内容是字符串而不是数组。
<script>
var test = '<%- level_tab %>';
alert(test);
function level(s1,s2){
var s1 = document.getElementById(s1);
var s2 = document.getElementById(s2);
s2.innerHTML = "";
if(s1.value == "level_0"){
var optionArray = test;
}
else if(s1.value == "level_1"){
var optionArray = ["test|test01", "test0|test02"];
}
for(var option in optionArray){
var pair = optionArray[option].split("|");
var newOption = document.createElement("option");
newOption.value = pair[0];
newOption.innerHTML = pair[1];
s2.options.add(newOption);
}
}
</script>
最佳答案
你必须对数组进行字符串化
var test = <%- JSON.stringify(level_tab) %>;
我不熟悉 EJS,但一般来说,即使 EJS 中的语法略有不同,也应该适用相同的原则。
关于javascript - 将数组从 EJS 传递到 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38179668/