2012-06-04 3 views
0

У меня есть метод для обновления уведомления и при обновлении он возвращает количество уведомления и содержания уведомления с JSon типомобновления уведомления, когда получить АЯКС respone

{ 
    "friend_request": 4, 
    "request": [{ 
     "user_id": "1", 
     "picture": "/home/sepdau/", 
     "name": "Le Chanh"}, 
    { 
     "user_id": "2", 
     "picture": "", 
     "name": "Yii PHP"}, 
    { 
     "user_id": "4", 
     "picture": "13366396884.jpg", 
     "name": "Minh Le"}, 
    { 
     "user_id": "11", 
     "picture": "", 
     "name": "Thang Phan"}] 
}​ 

Когда я получаю я уточняю количество успеха уведомления

function updateNotification(){   
    $.ajax({ 
     url: '/nevergiveup/index.php/site/updatenotification', 
     type: "post", 
     dataType: "json", 
     success: function(data){    
      if(data.friend_request>0){ 
       $(".zingcounter").text(data.friend_request); //update number of nofitcation 
       // load the template file, then render it with data 
       var html = new EJS({url: '/nevergiveup/jstemplates/friend_request.ejs'}).render(data); 
       //$("#frlist").append(html); 
       //$(html).replaceAll('#replacehere'); 
       $('#replacehere').replaceWith(html); // update content of notification 
      } 
      setTimeout(updateNotification,10000); 
     }, 
     error: function(){ 
      setTimeout(updateNotification,10000); 
     } 
    });  
} 

Я использую EJS построить шаблон контента
у меня есть <div id="replacehere"> заменить мое содержание здесь
Я использую $('#replacehere').replaceWith(html); для замены, но это успех при первом запросе через 10 секунд после
Я вижу, что данные json получают новый контент, а количество уведомлений меняется, но контент не изменяется.
Как изменить его при получении нового контента.

ответ

2

Угадайте вам нужно просто использовать

$('#replacehere').html(html); 

в противном случае это приведет к удалению #replacehere ДИВ ... и второй запрос не найти его, чтобы положить содержимое в ...

+0

как сохранить «#replacehere когда secondrequest может найти – giaosudau

+1

.replaceWith ('

'+html+'
') –

+1

или добавить id к родительскому элементу этого div ... и вставить html в него ... не заменить ... –

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