我是角色的新手。我尝试向具有基本身份验证标头的服务器发送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应用程序发送请求时,它正常工作。
感谢您的帮助。
答案 0 :(得分:1)
这显然是跨域请求问题
邮差是一个扩展
常规网页可以使用XMLHttpRequest对象发送和 从远程服务器接收数据,但它们受到相同的限制 原产地政策。扩展不是那么有限。扩展可以与之交谈 只要它首次请求,它的原点以外的远程服务器 跨域权限。
出于开发目的,您只需停用Chrome --disable-web-security
即可,这将为您完成工作。
或强>
您只需使用此Chrome扩展程序Allow-Control-Allow-Origin
即可答案 1 :(得分:0)
这是CORS问题。您的服务器应该设置一些基本的CORS过滤器。已经有很多问题要求和回答。
答案 2 :(得分:0)
后端开发人员解决了CORS错误。所以我想联系你的后端开发人员......