Показать сообщение отдельно
  #3 (permalink)  
Старый 17.04.2013, 15:36
Новичок на форуме
Отправить личное сообщение для logovazzik Посмотреть профиль Найти все сообщения от logovazzik
 
Регистрация: 16.04.2013
Сообщений: 4

Мысь понял Вашу, но в сервере проблемы нет, тем более, что спамить невозможно первой ф-ей, поэтому там (на сервере) все равно время разное. Проблема во второй функции, она почему-то вызывается иногда повторно и даже непонятно почему (для меня). До создания топика я ковырялся, ставив алерты почти на каждый этап выполнения той или иной и все было гладко со временем(все как и рассчитывалось, одно, позже другого), но в один прекрасный момент вторая ф-я ни с того, ни с сего активизировалась повторно. Вобщем сегодня переделал PHP, выдающему в формате JSON текст постов и их идентификаторы. JS должна проверять массив всех имеющихся постов на наличие аттрибута 'pid', равному ID поста и вроде бы должна отсекать при повторном включении(непонятно откуда берущемся) схожие, но не тут-то было. Опять провал. Вот код второй функции:
function update_ticket(el){

	
		$.ajax({
			url: "modules/ticket_system.php?ticket=<?php echo $_GET['open_ticket'];?>&update_ticket&update_time="+time,
			cache: false,
			success: function(data){
						if(data!=false){
								
								var result=eval('('+data+')');
								//result[0]-массив с сами постами
//result[1]-массив с идентификаторами из БД этих постов
							
							
								var posts=document.getElementsByClassName('post_td');
						
								for(i=0;i<posts.length;i++){
									for(key in result[1]){
										if (key==posts[i].getAttribute('pid')){
											result[0].splice(key,1)
										}
									}
								}
								for(i=0;i<result[0].length;i++){
									document.getElementById('block1').children[0].children[0].children[0].innerHTML+=result[0][i];	
								}	
						}
					date=new Date(); time=(date.getTime()/1000).toFixed(); 
					
					}				
		});
timer=setTimeout(function(){update_ticket();},2000);

}
Ответить с цитированием