我有一些JavaScript

<script>
    // some java code that doesn't matter right now

    localStorage.setItem("myName", "Bob");
    alert(localStorage.myName);
<script>


它工作正常(给出警告消息说鲍勃)。很好,但我真正想要的是将java变量传递给javascript变量,然后将其打印出来。
但是当我把这些线放进去...

var hi5 = <%= "getMyName();" %>
localStorage.someName = hi5;


它退出了。在此之前的任何JavaScript都可以正常工作。但之后的所有JavaScript都不会显示。

现在<% %>标记的语法可能不正确,但实际上并没有给我任何错误

我确定我会忽略某些东西,但不确定会是什么。我能做什么?

最佳答案

因为查看此行生成的页面的源代码

var hi5 = <%= "getMyName();" %>


它会渲染一些东西

var hi5 = BOB


您有可变的BOB吗?不。您缺少引号,而引号将其变成字符串。

var hi5 = "<%= getMyName(); %>";
          ^                   ^^

08-07 06:00