我正在尝试通过AJAX设置PHP cookie。我将一个变量(“ listingID”)放入Cookie名称。如果我对名称(例如“ cMapPin220”)进行了硬编码,则cookie会正确设置,但是我需要在名称中使用变量来标识它。
AJAX:
function myFunc(listingID){
$.ajax({
url: 'cookie.php',
type: 'POST',
data: {listingID:listingID},
dataType: 'html'
}).success(function(data){
$('.div66').html(data);
}).fail(function(jqXHR, errMsg) {
alert("Request failed: " + errMsg);
});
}
在“ cookie.php”中
这不起作用:
<?php
$cookieName = 'cMapPin' . $_POST['listingID'];
setcookie($cookieName, '1', time()+30);
?>
这有效:
<?php
$cookieName = 'cMapPin220';
setcookie($cookieName, '1', time()+30);
?>
最佳答案
您的问题可能出在POST数据中
data: {listingID:listingID}
您没有引用参数的名称,因此很可能会同时提取名称和值的值。试试这个
data: {"listingID":listingID}