2016-07-18 36 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; 
     } 
    }; 
    } 
}); 

我希望这会帮助你。