我正在使用 JSP 编写一个网站。我在下面包含了一个代码片段。
我遇到的问题是,每次页面加载时,都会执行 JavaScript 内的 addBookmark()
方法,但我没有看到警报。当我按下按钮时,我看到了警报,但未调用 addBookmark()
方法。是什么导致了这种奇怪的行为?
<% User user = new User() %>
<script type="text/javascript">
function add()
{
<% user.addBookmark(); %>
alert("addBookmark");
}
</script>
<button type="button" style="float: right" onclick="add()">Bookmark</button>
提前致谢!
最佳答案
因为JSP不直接与浏览器通信,也不知道浏览器对页面做了什么以及用户做了什么。它只是一个简单的解释器,它会遍历您的代码并查找 <%
。 <%
之间的任何代码和%>
被执行,其余的只是被写入浏览器。这意味着 JSP 解释器不会读取您的 JavaScript,服务器只会添加书签。
您正在寻找的是对服务器的实际添加书签的请求。类似 mypage.jsp?addBookmark=true
这会添加书签。
关于javascript - 为什么页面加载时会执行 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10271032/