Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Переменный в setinterval не видно вне него (https://javascript.ru/forum/misc/16497-peremennyjj-v-setinterval-ne-vidno-vne-nego.html)

Gvozd 11.04.2011 15:48

и, да
return t; - не нужен

zeraid 12.04.2011 18:03

ну я понел. То есть придется 2 запроса делать всегда. Но вот в этом случае

$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){this.label = new draw2d.Label(data);},
   error: function(){alert('Problem');}
 }).responseText;
  this.label.setCanDrag(false);


он будет ругатся на последнюю строчку что this.label не находит.

Про коллбеки я читал но что то материал про них тут не очень изложен и я плохо понел их приминение.

melky 13.04.2011 10:29

http://api.jquery.com/jQuery.ajax/

конечно он будет ругаться

куда тут указывает this ??? на анонимную функцию!
function (data){this.label = new draw2d.Label(data);}


а тут? на window ?
this.label.setCanDrag(false);



тогда лучше так

var label
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){label = new draw2d.Label(data);},
   error: function(){alert('Problem');}
 }).responseText;
  label.setCanDrag(false);


а еще лучше засунуть все в колбек

var label
$.ajax({
   type: "POST",
   url: "/mnemo_1.php",
   //data: "func=1",
   dataType: "text",
   async: false,
   success: function (data){label = new draw2d.Label(data);label.setCanDrag(false);},
   error: function(){alert('Problem');}
 }).responseText;


Часовой пояс GMT +3, время: 07:34.