2016-07-18 3 views
0

У меня около 70 из них в моем коде angularjs. Около 65 из них отправляют переменную authtoken.

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

Я помню, где-то, что это могло бы быть полезным, чтобы сделать его, чтобы он проходит authtoken по умолчанию через все мои $http.post вызовы, поэтому я не придется вводить его каждый раз.

Это хорошая идея? Если да, то кто-нибудь знает, как я это выполнил? Просто ищите некоторую проницательность и толкните в правильном направлении.

+0

выполните поиск * «угловой httpInterceptor» *. первая ссылка, вероятно, будет $ http docs, а затем много учебников. – charlietfl

+0

. Пожалуйста, ограничьте свои вопросы теми, кто не запрашивает мнения, которые специально не соответствуют теме в соответствии с [help/on-topic]. –

+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; 
     } 
    }; 
    } 
}); 

Я надеюсь, что это поможет.

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

+0

Спасибо Яну, но я использую угловой, а не jquery – bryan

Смежные вопросы