2014-11-30 3 views
-1

Я делаю метод вызова api, используя $ http.
Я хочу сделать некоторые изменения в запросе перед вызовом службы. Я использую transformRequest в конфигурации $ http. Но этот вызов не работает, если я использую transformRequest или transformResponse в $ http config.
Без transformRequest или transformResponse api call работает нормально.transformRequest не работает в angularjs 1.2.21

var deferred = $q.defer(); 
$http({ 
     method: type, 
     url: url, 
     params: null, 
     data: data, 
     headers: null, 
     transformRequest: function(data, headersGetter) { 
      console.log('transformRequest'); 
     }, 
     transformResponse: function(data, headersGetter) { 
      console.log('transformRequest'); 
     }, 
     cache: false, 
     timeout: 120000 // 2 Min 
    }) 
    .success(function(data, status, headers, config) { 
     deferred.resolve(data); 
    }) 
    .error(function(data, status, headers, config) { 
     deferred.reject(data); 
    }); 
return deferred.promise; 

Моя текущая версия angularjs является 1.2.21

+1

transformRequest и tranformResponse должны вернуть то, что, в настоящее время существует только console.log. Можете ли вы показать, что вы реализовали. – Chandermani

ответ

0

Мне нужно возвращать данные из transformRequest & transformResponse.
Обновленный код:

var deferred = $q.defer(); 

    $http({ 
      method: type, 
      url: url, 
      params: null, 
      data: data, 
      headers: null, 
      transformRequest: function(data, headersGetter) { 
       console.log('transformRequest'); 
       // Do transformRequest stuff here 
       return angular.toJson(data); 
      }, 
      transformResponse: function(data, headersGetter) { 
       console.log('transformRequest'); 
       // Do transformResponse stuff here 
       return angular.fromJson(data); 
      }, 
      cache: false, 
      timeout: 120000 // 2 Min 
     }) 
     .success(function(data, status, headers, config) { 
      deferred.resolve(data); 
     }) 
     .error(function(data, status, headers, config) { 
      deferred.reject(data); 
     }); 
    return deferred.promise; 
Смежные вопросы