我试图通过单击将AJAX发布到php页面的按钮来设置cookie。
我已经测试了在页面开始之前的任何输出之前手动设置cookie的方法,它可以正常工作。我已经用控制台日志测试了AJAX调用,并在开发工具中检查了“网络”选项卡-效果很好。
似乎cookie被输出阻止了,但这对我来说没有意义,因为AJAX链接到的整个PHP文件都像这样(lightboxform.php):
if (isset($_POST['chosenCountry']) && ($_POST['chosenCountry'] === "uk")){
setcookie("lightbox_country", $_COOKIE['lightbox_country'] = "uk", time()+60*60*24*365, "/", "radventures.co.uk");
}
您可以看到-没有任何输出。如果删除if语句,它将起作用。所以我想也许POST无法正常工作,但是可以。
$("#lightbox_uk_choice").on("click", function(event) {
$.post("/main/gallery/lightboxform.php",{
chosenCountry:"uk"
}, function(data,status) {
});
});
如果我用console.log记录AJAX帖子中的数据并在php if语句中回显POST,则它会控制台记录“ uk”,这是预期的行为。
我想念什么吗?