angularjs 基本身份验证 headers

angularjs basic authentication headers

我正在尝试连接到 API 并发送身份验证 headers。 我正在使用此处描述的 Base64 How do I get basic auth working in angularjs?

function Cntrl($scope, $http, Base64) {

$http.defaults.headers.common['Authorization'] = 'Basic ' + Base64.encode('----myusername----' + ':' + '----mypass---');
$http({method: 'GET', url: 'https://.../Category.json'}).
    success(function(data, status, headers, config) {
        console.log('success');
    }).
    error(function(data, status, headers, config) {
        alert(data);
        });
}

但我遇到了这个错误

XMLHttpRequest 无法加载 https://.../Category.json?callback=?. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://....com' 因此不允许访问。响应具有 HTTP 状态代码 400。

看起来您 运行 遇到了 Cross-Origin 资源共享 (CORS) 的问题。阅读: How does Access-Control-Allow-Origin header work?

如果您控制服务器,那么您可以让它根据您引用的问题中的服务器代码发回适当的 Access-Control-Allow-Origin header (How do I get basic auth working in angularjs?)