2010-10-18 5 views
0

Как мне сделать вызов ajax, если на странице обнаружен файл cookie? Код ниже вызывает предупреждение, но не вызов ajax. Любая помощь очень ценится.JQuery/Ajax cookie call

EDIT: Обновленный и полностью работающий код ниже. Просто нужно было изменить $ (this) на $ ('. More'), когда файл cookie найден. Большое спасибо за помощь/совет.

$(document).ready(function(){              
     //More Button    
     $('.more').live("click",function() 
     {  
     $.cookie('viewing_expanded_content',true, { expires : new Date(new Date().valueOf() + 60 * 60 * 1000) }); 
     var ID = $(this).attr("id"); 
     if(ID) 
     {       
     $("#more"+ID).html('<img src="images/more_press.gif" alt="More results..." />'); 
     $.ajax({     
     type: "POST", 
     url: "more_press.php", 
     data: "lastmsg="+ ID, 
     cache: true, 
     success: function(html){           
     $("div#updates").append(html); 
     $("#more"+ID).remove(); 
       }    
      }); 
     } else { 
     $(".morebox").html('<p><strong>No more results...</strong></p>'); 
     } 
     return false; 
       }); 

     var viewing_expanded_content = $.cookie('viewing_expanded_content'); 
     if (viewing_expanded_content == 'true') { 

     //alert("Active cookies!");  

     var ID = $('.more').attr("id"); 
     if(ID) 
     {       
     $("#more"+ID).html('<img src="images/more_press.gif" alt="More results..." />'); 
     $.ajax({     
     type: "POST", 
     url: "more_press.php", 
     data: "lastmsg="+ ID, 
     cache: true, 
     success: function(html){           
     $("div#updates").append(html); 
     $("#more"+ID).remove(); 
       }    
      }); 
     } 

      } 

     })    
+0

Затем звонок Ajax сломан. Сначала основная отладка - увольняется ли она в первую очередь? Использовать, например. Вкладка «Net» Firebug для поиска –

+0

- это идентификатор 'ID', который определенно устанавливается выше? –

ответ

1

Вы уверены, что вызов ajax не уволен? Что произойдет, если вы добавите функцию alert() в функцию success?

Обновление: Я работаю через your referenced code, но сложно сказать, что вы пытаетесь сделать. Вы устанавливаете файл cookie и делаете вызов ajax при нажатии элемента .more. Затем у вас есть код, который проверяет cookie, и делает вызов ajax, если этот файл cookie установлен.

В каких обстоятельствах должен выполняться этот второй бит кода? Должно ли это происходить при загрузке страницы? Если да, то откуда он должен получить значение ID?

P.S. Это:

$(document).ready(function(){             
    $(function() { 

не имеет смысла. Вторая строка - это ярлык для первого, поэтому наличие двух резервных; просто избавьтесь от этой первой строки (и ее соответствия })).

+1

Лучше назовите это как комментарий. – rahul

+0

rahul - справедливая точка, хотя этот вопрос по устранению неполадок может очень легко закончиться целым кучей комментариев и ответов. Если нет результативного «окончательного ответа», который я могу создать, отредактировав его, я удалю его. –

+0

ничего не происходит, когда alert() добавлен в функцию успеха. – ss888

Смежные вопросы