我想仅在用户第一次单击"添加到购物篮"时将商品添加到购物篮中,但是每次刷新页面时,它都会再次添加它。
这是我将商品添加到购物篮的代码
<%
String empty = request.getParameter("emptyBasket");
if (empty!=null) {
basket.clearBasket();
}
String item = request.getParameter("addItem"); %>
<script>
window.onload = function(){
if(localStorage.getItem("notFirstTime") == null) {
<% basket.addItem(item); %>
localStorage.setItem("notFirstTime", true);
}
}
</script>
<html>
<body> ....
如您所见,我尝试使用window.onload方法,但由于某种原因它不起作用。如果您需要查看更多代码,请告诉我,我会更新。
谢谢
JSP 在服务器上运行。JavaScript 在浏览器上运行。服务器端代码首先在服务器上运行以生成页面。然后它通过网络将其发送到运行JavaScript的浏览器。 basket.addItem(item)
将始终作为页面生成过程的一部分运行,因为它是服务器端代码。
您可能需要考虑使用 Cookie(针对匿名用户(或数据库(适用于经过身份验证的用户(来存储这些值。