Как обернуть возвращаемый тип ajax-вызова в случае успеха с функцией - PullRequest
0 голосов
/ 29 июля 2010

У меня есть веб-служба, и она всегда возвращает один объект из моего класса, который я определил на стороне сервера.

в success методе функции $.ajax я всегда получаю этот объект. А на стороне клиента я хочу добавить пару функций для более быстрого отображения его свойств.

Есть ли способ сделать это? (Объект JSON вернется, я беспокоюсь об этом)

Ответы [ 2 ]

1 голос
/ 29 июля 2010

Вы можете расширять объекты javascript и добавлять к ним методы:

var json = { name: 'john' };
json.print = function() {
    alert('my name is ' + this.name);
};
json.print();
0 голосов
/ 29 июля 2010

Как вы уже сказали мне в своем последнем вопросе на эту тему

как добавить функцию в объект json с атрибутом __type?

вы хотите иметь глобально функционально. Поскольку вы все еще не можете добавить function в json, вы должны объявить global function как:

var props = (function(){
   var spacing = '';

   function props(json, deep) {
      if(typeof json === 'object'){
         for(var prop in json){
             if(typeof json[prop] === 'object'){             
                spacing += '   ';
                props(json[prop], true); 
             }
             else{                
               console.log(spacing, prop, ': ', json[prop]);
             }
         }
      }
   }

   return props;
}());
...