我想在用户第一次点击时将商品添加到购物篮中#34;添加到购物篮"但每次刷新页面时都会再次添加。
这是我将代码添加到购物篮的代码
<%
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方法,但由于某些原因它无法正常工作。如果您需要查看更多代码,请告诉我,我会更新。
由于
答案 0 :(得分:1)
JSP在服务器上运行。 JavaScript在浏览器上运行。服务器端代码首先在服务器上运行以生成页面。然后它通过网络将其发送到运行JavaScript的浏览器。 basket.addItem(item)
将始终作为页面生成过程的一部分运行,因为它是服务器端代码。
您可能需要考虑使用Cookie(对于匿名用户)或DB(对于经过身份验证的用户)来存储这些值。