Jquery Cookies код выполняется без перехода на страницу индекса - PullRequest
0 голосов
/ 06 февраля 2012

Пожалуйста, проверьте код ниже

$(document).ready(function(){
var href;
if(href!=null)
{
setContainerHtml($.cookie("activeElementHref"));
};

$('nav ul li a').click(function(e){
    e.preventDefault();
    href= $(this).attr('href');
    $.cookie("activeElementHref", href) 
    setContainerHtml(href);
});
}); 
function setContainerHtml(href) {
        $.ajax({
        type: "POST",
        url: "baker.php",
        data:{send_txt: href},
        success: function(data){
            $('#aside-right, #intro').css('display','none');
            $('#main-content').fadeOut('10', function (){
            $('#main-content').css('width','700px');
            $('#main-content').css('margin','-30px 0 0 100px');
            $('#main-content').html(data);
            $('#main-content').fadeIn('8000');
            });
        }   
    });
}

Файл cookie не работает, нажатие ссылки не сохраняется, когда я нажимаю кнопку Обновить индекс HTML-страница отображается

Ответы [ 2 ]

0 голосов
/ 06 февраля 2012

Href пусто вместо пустой строки:

var href;  // variable is set to null...

if(href != '') // ... null is different than empty string...
{
    // ...so the code always enters here.
    setContainerHtml($.cookie("activeElementHref"));
};

Я думаю, это должно быть:

var href = $.cookie("activeElementHref");  //Read the cookie

if(href !== null) 
{
    setContainerHtml(href );
};
0 голосов
/ 06 февраля 2012

Этот код:

    var href;
    href!='';

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

Попробуйте это застраховано:

    var href;
    href!=null;

Или, если вы действительно хотите использовать! = '', Просто поместите var href = "";в первой строке ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...