我正在尝试通过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}

10-08 05:07