Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > ajax и куки


Автор: nicka47 22.11.2007, 17:14
Столкнулась с проблемой куки в ajax  
Не знаю что я не правильно делаю, но куки сохдаваемое через ajax  , имеет соверщенно другое значение,чем тоже самое куки создаваемое без ajax. Хотела сделать забрасывание в корзину товара на сайте через ajax, но из за этой проблемы с куки не получилось.

Без ajax , забрасывание в корзину товара работает нормально, но происходит перезагрузка страницы. Поэтому обратилась к ajax и натолкнулась на такую проблему. СОздаеться переменная куки , которая не видна на сайте как та, из которой вывожу на странице колзины товары.

МОжет кто то уже сталкивалсы с подобной проблемой?

Добавлено через 7 минут и 22 секунды
вот мои коды
Код

<div id="basket_d"><a href="javascript:to_basket('<?=$id?>','1')" >ффф</a></div>


Код

function to_basket(id,dv) {

    var req = new JsHttpRequest();
    req.onreadystatechange = function() {
        if (req.readyState == 4) {
            document.getElementById(dv).innerHTML = 'Favorites';
            document.getElementById(dv).innerHTML = req.responseText;
        }
    }
    document.getElementById(dv).innerHTML = '<img src=images/loading.gif width=16 height=16>';
    req.open(null, 'includes_all/basket_ajax.php', true);    
    req.send( { id_bsk: id } );
}


код где должна формировать куки, сейчас просто вывожу, и получаю совсем другое значение, чем не через ajax
Код

session_start();
ob_start();
require("../Connections/globals.php"); 
require("../Connections/connect.php"); 
require("../Connections/var.inc"); 
require("../includes_all/functions_all.php"); 
// Load JsHttpRequest backend.
require_once "../JsHttpRequest/lib/JsHttpRequest/JsHttpRequest.php";
// Create main library object. You MUST specify page encoding!
$JsHttpRequest =& new JsHttpRequest("utf-8");


$id_ad=$_REQUEST['id_bsk'];


echo "<br>".$_COOKIE['ad_bask'];

Автор: Anarki 22.11.2007, 19:25
В коде не видно никаких вызовов setcookie().
А проблема может быть в том, что куки будут "видны" только лишь при перезагрузке страницы, то есть вначале PHP отправляет HTTP заголовок Set-Cookie браузеру, а браузер должен затем запросить страницу(послать HTTP запрос), чтобы PHP получил от него HTTP заголовок Cookie, и тогда наполнится переменная-массив $_COOKIE.

Автор: soloweb 24.11.2007, 02:26
Ajax такая штука что куки тоже надо запрашивать smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)