Показать сообщение отдельно
  #1 (permalink)  
Старый 29.12.2013, 03:02
Новичок на форуме
Отправить личное сообщение для ArtJS Посмотреть профиль Найти все сообщения от ArtJS
 
Регистрация: 29.12.2013
Сообщений: 7

Jquery post. объекты и методы-обработчики
Доброго времени суток!
Я новичек в JS и слегка заплутал.
Допустим я делаю такой конструктор:
function widget(name, x, y) {
    this.name = name;
    this.x = x;
    this.y = y;

   //функция draw вызовет post запрос
    this.draw = function() {
         //добавим при помощи jQuery код виджета
         // ............
         //запросим, что надо у сервлета
         $.post("http://localhost:8080/Testing", {command: "value"}, this.onPostResponse);
}

 //А это асинхронный обработчик ответа на post запрос
 this.onPostResponse = function(data){
        var obj = JSON.parse(data); //кое-что получим и распарсим
        // и т.д., некий код который что-то выведет на наш виджет
   }
}


После описания всего этого я решил создать парочку таких "виджетов" на страничке:

$(document).ready(function(){

           var myWidget1 = new widget("FIRST",100,200);
           var myWidget2 = new widget("SECOND",150,300);
           myWidget1.draw();
           myWidget2.draw();
}


Но к сожалению, обработчик this.onPostResponse отрабатывает только один из ответов (и то не всегда, в случайной последовательности).
Понимаю, что я накодил лажу. Подскажите пожалуйста, как все же прописать общий обработчик как метод объекта, и вызывать их с нескольких объектов в скрипте. Неужели надо писать десятки однотипных функций?
Я хотел сделать одну функцию и думал что она будет вызываться всегда для каждого из постов, а дальше в ней определять на основе пришедшей информации, какой из виджетов обновлять, используя this...
Ответить с цитированием