2016-07-18 31 views
0

總是傳遞變量後我對這些70我angularjs代碼。其中約65人通過發送authtoken變量。

$http.post("/url", { name: $scope.name, authtoken:localStorage['authtoken']}); 

我記得看到的地方,所以它傳遞的authToken通過我的所有$http.post呼叫的默認情況下它可能是有益的做,所以我沒有把它每次輸入。

這是個好主意嗎?如果是這樣,有誰知道我會如何實現它?只是尋找一些見解,並推向正確的方向。

+0

做一個搜索*「角httpInterceptor」*。第一個鏈接將可能是$ HTTP文檔,然後很多的教程 – charlietfl

+0

的請限制您的問題,那些不徵求意見,這是專門題外話根據[求助/切合主題。 –

+0

意見放在一邊,這是一個非常該死的有趣的問題,這將有助於很多人因爲我無法在搜索@MikeMcCaughan也感覺就像一個很好的學習機會的問候最佳做法,以限制代碼的人的數量發現它有來寫。但肯定的是,我下次我很欣賞你的洞察力限制了我的問題,很高興你#SOreadytohelp – bryan

回答

1

您可以使用Interceptors這樣的:

angular.module('app').config(function($httpProvider) { 
    $httpProvider.interceptors.push(function() { 
    return { 
     request: function(req) { 
     if(req.method.toUpperCase() === 'POST') { 
      if(typeof req.data === 'object') { 
       req.data = req.data || {};// typeof Null is 'object' since the beginning of JavaScript 
       req.data['authtoken'] = localStorage['authtoken']; 
      } else { 
       req.data += '&authtoken='+localStorage['authtoken'] 
      } 
     } 
     return req; 
     } 
    }; 
    } 
}); 

我希望這會幫助你。