2015-06-04 8 views
1

Я пытаюсь установить PHP-файл cookie через AJAX. Я помещаю одну переменную ("listingID") в имя файла cookie. Если я жестко закодирую имя (например, «cMapPin220»), cookie устанавливается правильно, однако мне требуется переменная в имени для ее идентификации.PHP Cookie Not Setting через AJAX

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); 
?> 
+4

ты var_dump'ed '$ _POST [«listingID»] ', чтобы убедиться, что он установлен, или то, что вы думаете, это –

+1

ли параметр посылается на сервер правильно? – epascarello

+0

Да для обоих. Даже присваивание переменной перед выполнением запроса AJAX -> 'var listingID = '220'; ..... $ .ajax ({' – Bxx

ответ

0

Yo ур проблема, скорее всего, в данных вашей POST

data: {listingID:listingID} 

Вы не процитировать имя вашего параметра, так что это, вероятно, потянув значение как для имени и значения. Попробуйте это вместо

data: {"listingID":listingID} 
+0

Проблема решена. Моя переменная-листинг имела дополнительные пробелы в конце. спасибо! – Bxx