我的angularjs代码中有大约70个。其中大约65个发送authtoken变量。
$http.post("/url", { name: $scope.name, authtoken:localStorage['authtoken']});
我记得在某个地方看到它可能是有益的,所以它通过我的所有$http.post
来电通过authtoken作为默认值,所以我不必每次都输入它。
这是个好主意吗?如果是这样,有谁知道我将如何实现它?只是寻找一些见解并被推向正确的方向。
答案 0 :(得分: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;
}
};
}
});
我希望这会对你有所帮助。
答案 1 :(得分:0)
考虑使用jQuery.ajaxSetup()
这里是API https://api.jquery.com/jQuery.ajaxSetup/
您可以设置ajax全局处理程序ajaxStar
(https://api.jquery.com/ajaxStart/)
并通过添加authtoken修改传递的数据 这篇文章差不多关于http://weblogs.asp.net/hajan/simplify-your-ajax-code-by-using-jquery-global-ajax-handlers-and-ajaxsetup-low-level-interface