5

我正在尝试连接到 API 并发送身份验证标头。我正在使用此处描述的 Base64如何在 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= ?。请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问来源“ http://....com ”。响应的 HTTP 状态代码为 400。

4

1 回答 1

3

看起来您遇到了跨域资源共享 (CORS) 的问题。阅读: Access-Control-Allow-Origin 标头如何工作?

Access-Control-Allow-Origin如果您控制服务器,那么您可以让它根据您引用的问题中的服务器代码发回适当的标头(如何在 angularjs 中获得基本身份验证?

于 2015-01-14T23:21:55.577 回答