2013-11-26 3 views
0

Я потребляю REST api, используя Angular JS, используя $ resource module. Мне нужно закодировать URL-адрес с помощью закрытого ключа и отправить результаты процесса кодирования в заголовке. Я пытаюсь перехватить запрос и получить запрошенный URL, но я не мог этого сделать.

return $resource(url, {}, { 
    get: { method: 'GET', headers: headers, transformRequest: function(data, headersGetter) { 
     // Here "data" is undefined. headersGetter() returns the headers. 
     // I need the URL here 
    } 
}); 

Любая помощь?

ответ

1

Звучит так, как будто вы хотите перехватчика. Найти Перехватчики раздел $http documentation. Это будет выглядеть примерно так:

// register the interceptor as a service 
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) { 
    return { 
     // optional method 
     'request': function(config) { 
      //modify headers in config based on url in config 
      return config; 
     }, 
    } 
}); 

Затем зарегистрировать перехватчик как это:

app.config(['$httpProvider', function ($httpProvider) { 
    $httpProvider.interceptors.push('myHttpInterceptor'); 
}]); 
Смежные вопросы