Запуск метода инициализатора для объекта, вызванного с использованием jQuery getJSON - PullRequest
1 голос
/ 17 июня 2011

У меня возникла проблема при использовании ajax-вызова jQuery $.getJSON, хотя проблема возникла бы, если бы я использовал какой-либо метод jQuery ajax.Вот пример кода.

$.getJSON('cfcs/contact.cfc?method=method', registrantData, function(data){ 
     // Data processing
});

Теперь проблема в том, что, если я вызываю свой контактный объект таким образом, метод инициализатора для объекта не вызывается.Таким образом, любые зависимости, которые я установил в инициализаторе, недоступны в объектных методах.Так что, если мой контактный объект выглядит, например, как показано ниже, вызов метода с помощью Jquery ajax завершится неудачей.

..Contact.cfc
  function init(){
      injectedService  = new injectedService()
  }

 function method(){
     return injectedService.response();
 }

Есть ли что-нибудь вокруг этого, так как я не хочу специально выполнять рефакторинг своих объектов, когда им нужнобыть вызванным через ajax?

Спасибо

Ответы [ 2 ]

4 голосов
/ 17 июня 2011

IMO, похоже, вам нужно будет создать прокси-объект для обработки вызовов ajax, если вам нужна init () для отключения. Итак, ajax общается с прокси-объектом. Прокси-объект создает cfc, передает аргументы и передает результат обратно. Таким образом, init будет стрелять. Это сводит к минимуму изменение всех ваших объектов для выполнения этой работы.

1 голос
/ 17 июня 2011

Сервисная структура, такая как Таффи , может помочь с этим.Запросы направляются через REST API Taffy, и Taffy создает экземпляры ваших CFC, запрашивая их у фабрики объектов - я использую ColdSpring .ColdSpring вызовет метод init () для ваших сервисных объектов перед вызовом сервисных методов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...