2014-04-17 17 views
5

$ http hizmeti için varsayılan bir üstbilgi eklemeyi düşünüyorum, bu değer, kullanıcı kimlik doğrulamasından sonra oluşturulacak bir erişim belirtecidir.

module.config('$routeProvider', '$locationProvider', '$httpProvider'){ 
    $httpProvider.defaults.headers.post['XSRF-AUTH'] = 
     "some accessToken to be generated later"; 
} 

sorun config() blok zaman Açısal bot çekirdek bileşenlerinin uygulanmaktadır,. $ĥttpProvider'u dinamik olarak değiştirmek için bir yol var mı?

cevap

14

Varsayılan üstbilgiyi, $ httpProvider yerine çalışma zamanı sırasında $ http nesnesi üzerinden değiştirebilirsiniz.

$http.defaults.headers.post['XSRF-AUTH'] = "access token"; 

Kontrol dışarı fazla ayrıntı http://docs.angularjs.org/api/ng/service/$http#setting-http-headers için $ http API docs: Örneğin bir yapılandırma bloğunun aşağıdaki dışında yapabilirsiniz.

+0

Bu gerçekten işe yaradı, size yardımcı olun. –

+0

Bu güzel, tek sorun nereye koyacağınız. Modül yüküne koyabilirsiniz, fakat birlikte yükleyebileceğiniz veya yüklenemeyen çoklu modülleriniz varsa. angular.js yüklendikten sonra sayfaya bu kodu koyduğumda "$ http tanımlı değil" olsun –

+0

Sonic Soul, sorunuzu anladığımdan emin değilim, ancak bağımlılık enjeksiyonunu kullanabileceğiniz bir yere koymanız gerekiyor $ http (örneğin denetleyici, çalıştırma, hizmet, vb ...) bir başvuru. Nereye koyduğunuz, uygulamanıza bağlı olacaktır. – Leo

İlgili konular