我无法设置基本身份验证标头

时间:2015-09-04 03:47:02

标签: angularjs

我是角色的新手。我尝试向具有基本身份验证标头的服务器发送GET请求,但它无法正常工作。这是我的代码,

///////////////My app.js///////////////
var myApp = angular.module('myApp', ['ngRoute', 'ui.bootstrap']);

myApp.config(['$routeProvider', '$httpProvider', function($routeProvider, $httpProvider){
    $httpProvider.defaults.headers.common['Authorization'] = 'Basic YWRtaW46YWRtaW4=';
    $routeProvider
    .when('/', {
        controller: 'UserController',
        templateUrl: './app/views/homepage.html'
    })  
    .when('/users', {
        controller: 'UserController',
        templateUrl: './app/views/userlist.html'
    });
}]);

///////////////My userService.js///////////////
myApp.factory('UserService', function($http){
var factory = {};
var urlBase = 'http://xxx.xxx.xxx.xxx/api';
    factory.getUsers = function(){
        return $http.get(urlBase+'/getusers');
    };
    return factory;
});

当我从控制器调用服务时,浏览器的控制台中显示了2个错误,

当我通过POSTMAN应用程序发送请求时,它正常工作。

感谢您的帮助。

3 个答案:

答案 0 :(得分:1)

这显然是跨域请求问题

邮差是一个扩展

  

常规网页可以使用XMLHttpRequest对象发送和   从远程服务器接收数据,但它们受到相同的限制   原产地政策。扩展不是那么有限。扩展可以与之交谈   只要它首次请求,它的原点以外的远程服务器   跨域权限。

出于开发目的,您只需停用Chrome --disable-web-security即可,这将为您完成工作。

您只需使用此Chrome扩展程序Allow-Control-Allow-Origin

即可

答案 1 :(得分:0)

这是CORS问题。您的服务器应该设置一些基本的CORS过滤器。已经有很多问题要求和回答。

答案 2 :(得分:0)

后端开发人员解决了CORS错误。所以我想联系你的后端开发人员......