0
나는 Yeoman을 사용하여 AngularJS 앱을 설치했습니다. 앱에서 HTTP Basic Authentication
뒤에 API 호출을해야합니다. this tutorial을 따라 내 HTTP 헤더를 수정하고 uername과 암호를 인코딩하는 방법을 알아 냈습니다. 그러나 내 API 서비스에서 Base64.encode
을 호출하는 방법을 알 수 없습니다. 내가 시도한 모든 것은 나에게 계속 ReferenceError: Base64 is not defined
오류를주고있다.AngularJS의 서비스에서 공장으로 전화하는 방법
// app/scripts/api.js
angular.module('api.ClientApp', ['base64']).
service('$api', function($http, $q, $cookieStore, $rootScope, $location, $window, $sniffer) {
var $api = this;
this.set_http_auth = function(obj) {
if(obj){
$http.defaults.headers.common['Authorization'] = 'Basic ' +
Base64.encode(obj.username + ':' + obj.password);
} else {
delete $http.defaults.headers.common['Authorization'];
}
};
});
Base64로 공장 :
// app/scripts/services/Base64.js
angular.module('base64', [])
.factory('Base64', function() {
return {
encode: function (input) {
var output = "";
// ...
return output;
},
decode: function (input) {
var output = "";
// ...
return output;
}
};
});
에 Index.html :
내 API 서비스, Base64.encode()
오류 던져 라인이 라인에서
<!-- app/index.html -->
<script src="scripts/app.js"></script>
<script src="scripts/services/Base64.js"></script>
<script src="scripts/api.js"></script>
<script src="scripts/controllers/signin.js"></script>
감사합니다! 나는 그런 간단한 해결책을 위해 너무 길게 보냈다. 나는 너무 가까웠다! – lightswitch05