【发布时间】:2016-05-21 22:49:25
【问题描述】:
我正在尝试通过 php/ajax 实现“添加到短名单”
这是我的相关代码
从此页面调用 ajax:
<a id="shortlist" class="pull-right add-to-shortlist">Add to shortlist</a>
<p id="cookieShortList"><?=$_COOKIE['shortlist_count']?></p>
<script>
$("#shortlist").click(function(){
$.ajax({
type: "post",
url: "ajaxcall.php",
data:{spId : "111",prId : "222"},
success: function(result)
{
$('#cookieShortList').html(result);
}
});
});
</script>
发布数据页面:
$s_id = $_REQUEST['spId'];
$product_id = $_REQUEST['prId'];
setcookie("cookie_product[$s_id]", $product_id, time()+ (30),'/');
echo $shortlist_count_c = count($_COOKIE['cookie_product']);
if (isset($_COOKIE['cookie_product'][$s_id])) {
echo "blah blah";
}
setcookie("shortlist_count", $shortlist_count_c, time()+ (30),'/');
问题是我可以看到 cookie 在我的浏览器上的资源选项卡下设置为 "cookie_product[111]" => "222" first click on "add to shortlist",但计数已更新 only after second click on "add to shortlist"。
【问题讨论】:
-
您是否考虑过使用
sessionStorage- 与 json 结合使用会更简单,无需 ajax 调用和 cookie。..
标签: php ajax cookies setcookie