| 
	| 
	
	| 
		
	| 
			
			 
			
				04.04.2011, 20:17
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| 
	
 
	| Сообщение от zeraid   |  
	| разобрался. вот так работает: 
 
 
setInterval(function() {
var data1 = $.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   dataType: "text",
   async: false,
   success: function (data){data;},
   error: function(){alert('Problem');}
 }).responseText;
}, 3000);
       var s1 = new draw2d.Server("any_pkey1", data1,"up"); 
	 workflow.addFigure(s1, 100,100);
 |  
	
 
function loop( callback ){
var t = setInterval(function(){
   
d = $.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл, там текст "GOOD"
   dataType: "text",
   async: false,
   data: { func: 1 }
  
 }).responseText;
callback( d );
},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log ); 
setTimeout( function(){t.stop();},3000) // через 3 сек остановка
в консоли выводит GOOD  три раза
 
тут не могу запустить (скрипты запускается в ифрейме и на testbin)
 
еще так
 
 
function loop( callback ){
var t = setInterval(function(){
   
$.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл, там текст "GOOD"
   dataType: "text",
   async: false,
   data: { func: 1 },
   error: function(){alert('Problem');},
   success : function(data) { callback(data); }
  
 }).responseText;
},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log ); 
setTimeout( function(){t.stop();},3000) // через 3 сек остановка
результаты одинаковые			 Последний раз редактировалось melky, 04.04.2011 в 20:25.
 |  |  
	| 
		
	| 
			
			 
			
				04.04.2011, 21:27
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| 
	
 
	| Сообщение от melky   |  
	| 
function loop( callback ){
var t = setInterval(function(){
   
d = $.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл, там текст "GOOD"
   dataType: "text",
   async: false,
   data: { func: 1 }
  
 }).responseText;
callback( d );
},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log ); 
setTimeout( function(){t.stop();},3000) // через 3 сек остановка
 в консоли выводит GOOD три раза
 
 тут не могу запустить (скрипты запускается в ифрейме и на testbin)
 
 еще так
 
 
 
 
 
 
function loop( callback ){
var t = setInterval(function(){
   
$.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл, там текст "GOOD"
   dataType: "text",
   async: false,
   data: { func: 1 },
   error: function(){alert('Problem');},
   success : function(data) { callback(data); }
  
 }).responseText;
},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log ); 
setTimeout( function(){t.stop();},3000) // через 3 сек остановка
 результаты одинаковые
 |  
	
 не очень понел что вы этим хотели сказать.... я тут вижу то, что вы просто сдлелали чтобы через 3 сек запрос прекращался..... у меня же проблема описанная выше.
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				04.04.2011, 22:16
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	|   
развернуть ->
 
function loop( callback ){
/* интервал */
var t = setInterval(function(){ 
   
d = $.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл, там текст "GOOD"
   dataType: "text",
   async: false,
   data: { func: 1 }
  
 }).responseText;
callback( d );
},1000);
/* 
каждую секунду будем отправлять запрос на файл И вызывать указанную в callback функцию
*/
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log );  
// если сохраним t, сможем прекратить вызовы этим -> t.stop()
или вот, заинлайненная функция
 
развернуть ->
 
/*
 каждую секунду берет файл с сайта и делам с содержимым , что хотим
*/
var t = setInterval(function(){
   
$.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл
   dataType: "text",
   async: false,
   data: { func: 1 },
   error: function(){alert('Problem');},
   success : function(data) { 
          /* делаем,что хотим ! в data результат запроса*/
            alert(data);
   }
  
 });
},1000);
/* остановить повтор */
clearInterval(t);
 |  |  
	| 
		
	| 
			
			 
			
				04.04.2011, 22:26
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| Мне кажется вы меня не поняли. Объясню подробнее. 
вот код (сюда ваш внедрил уже):
 
function loop( callback ){
var t = setInterval(function(){
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){callback(data);},
   error: function(){alert('Problem');}
 }).responseText;},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log );
setTimeout( function(){t.stop();},3000)
  var s1 = new draw2d.Server("any_pkey1", СЮДА НАДО ВСТАВИТЬ ПЕРЕМЕННУЮ ИЗ AJAX,"up"); 
	 workflow.addFigure(s1, 100,100);
у меня создается объект в котором высвечивается температура, которая берется из аякс запроса. И мне надо чтобы она бралась каждые 3 секунды и выводилась в обект. ВНУТРЬ SUCCESS вставить судя по всему не выйдет ибо вместе с запросом будет создаватся еще один объект и тд.
 
И мне хотелось бы узнать как это можно реализовать ибо в JS  я пока что не силен. |  |  
	| 
		
	| 
			
			 
			
				04.04.2011, 22:50
			
			
			
		 |  
	| 
		
			
			| sinistral     |  | 
					Регистрация: 28.03.2011 
						Сообщений: 5,418
					 
		
 |  |  
	| 
	
 
	| Сообщение от zeraid   |  
	| Мне кажется вы меня не поняли. Объясню подробнее. 
 вот код (сюда ваш внедрил уже):
 
 
 
function loop( callback ){
var t = setInterval(function(){
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){callback(data);},
   error: function(){alert('Problem');}
 }).responseText;},1000);
this.stop = function(){ clearInterval(t); }
};//l
var t = new loop( console.log );
setTimeout( function(){t.stop();},3000)
 у меня создается объект в котором высвечивается температура, которая берется из аякс запроса. И мне надо чтобы она бралась каждые 3 секунды и выводилась в обект. ВНУТРЬ SUCCESS вставить судя по всему не выйдет ибо вместе с запросом будет создаватся еще один объект и тд.
 
 |  
	
 у вас создается объект, который принимает число. через аякс надо обновлять это число.
  
самый лучший способ ( для обновления переменной) - это написать метод update() внутри объекта,который принимает число.
 
потом через ajax-success вызывать update с  parseInt(date) в качестве аргумента.
 
или же каждый раз создавать новый объект
 
setInterval(function(){
   
$.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл
   dataType: "text",
   async: false,
   data: { func: 1 },
   error: function(){alert('Problem');},
   success : function(data) { 
         var s1 = new draw2d.Server("any_pkey1", data,"up"); 
	 workflow.addFigure(s1, 100,100);
   }
  
 });
},1000);
откуда у вас этот объект?
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				04.04.2011, 22:56
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| 
	
 
	| Сообщение от melky   |  
	| у вас создается объект, который принимает число. через аякс надо обновлять это число. 
 самый лучший способ ( для обновления переменной) - это написать метод update() внутри объекта,который принимает число.
 
 потом через ajax-success вызывать update с  parseInt(date) в качестве аргумента.
 
 или же каждый раз создавать новый объект
 
 
 
setInterval(function(){
   
$.ajax({
   type: "POST",
   url: "/ajax.html", // локальный файл
   dataType: "text",
   async: false,
   data: { func: 1 },
   error: function(){alert('Problem');},
   success : function(data) { 
         var s1 = new draw2d.Server("any_pkey1", data,"up"); 
	 workflow.addFigure(s1, 100,100);
   }
  
 });
},1000);
 
 откуда у вас этот объект?
 |  
	
 Рад что наконец вы меня поняли. 
 
draw2d.Server это просто картинка над которой пишется число. Если сделать так, как вы написали выше. То с каждым аякс запросом будет добавляться еще один объект.
 
Внутри объекта писать обновление числа не вариант ибо объектов у меня много и более того обновление числа для ВСЕХ объектов должно протекать в одном аякс запросе. Но пока я пытаюсь справится хоть с одним.
 
У меня звучал вопрос выше КАК мне ИЗ аякс запроса вывести то самое число которое он получает и просто подставить в свойства объекта draw2d.Server("any_pkey1", ВОТ СЮДА,"up"); 
 
Или как написать сам аякс запрос.
 
Скорее всего я не владею некоторыми операциями JS - поэтому я задал вопрос здесь.
			
			
	
			
			
			
			
			
				  |  |  
	| 
		
	| 
			
			 
			
				05.04.2011, 08:46
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 10.09.2009 
						Сообщений: 1,578
					 
		
 |  |  
	| 
	
 
	| Сообщение от zeraid |  
	| Скорее всего я не владею некоторыми операциями JS |  
	
 и не говори    Про переменные почитай, области видимости, глобальные переменные, ответ аякс-запроса. Сначала то есть, как я и советовал ... |  |  
	| 
		
	| 
			
			 
			
				05.04.2011, 13:31
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| 
	
 
	| Сообщение от micscr   |  
	| и не говори  Про переменные почитай, области видимости, глобальные переменные, ответ аякс-запроса. Сначала то есть, как я и советовал ... |  
	
 об этом я в курсе. я имею в виду что могу не знать некооторые функции и тп ибо норм документации по JS нет нигде. |  |  
	| 
		
	| 
			
			 
			
				05.04.2011, 13:49
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| 
var t = "";
setInterval(function(){
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){data; t = data;},
   error: function(){alert('Problem');}
 }).responseText;},1000);
я имею в виду что-то в роде этого. То есть чтобы значение из аякса записалочь в t. |  |  
	| 
		
	| 
			
			 
			
				05.04.2011, 14:16
			
			
			
		 |  
	| 
		
			
			| Аспирант       |  | 
					Регистрация: 27.03.2011 
						Сообщений: 75
					 
		
 |  |  
	| 
function test(){ 
    var t; 
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){t = data;},
   error: function(){alert('Problem');}
 }).responseText;
 return t; 
}; 
var t = test();
       var s1 = new draw2d.Server("any_pkey1", t,"up"); 
	 workflow.addFigure(s1, 100,100);
вот так заработало. Очень удивлен почему тоже самое не работало без использования функции.
 
Осталось одно - сделать тож самое раз в 3 секунды.
 
Никак не получается это реализовать. Прошу помощи. |  |  |  |