Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS发送带有基本身份验证的GET请求_Angularjs_Rest - Fatal编程技术网

AngularJS发送带有基本身份验证的GET请求

AngularJS发送带有基本身份验证的GET请求,angularjs,rest,Angularjs,Rest,我尝试向具有基本身份验证的服务器发送GET RESTful请求。我编写了以下代码来完成此任务: module.controller("MainCtrl", ['$scope', '$http', function($scope, $http) { $http.get('http://192.168.10.15:8080/web/services/api/records/20420?_type=json', { headers: {

我尝试向具有基本身份验证的服务器发送GET RESTful请求。我编写了以下代码来完成此任务:

module.controller("MainCtrl", ['$scope', '$http', function($scope, $http) {
            $http.get('http://192.168.10.15:8080/web/services/api/records/20420?_type=json', {
                headers:  {
                    'Authorization' : 'Basic username:password'}
            })
            .success(function(response) {
                console.log("my success");
                $scope.values = response;
              })

            }]
        );
处理请求时,浏览器控制台上将显示给定错误:

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource on http://192.168.10.15:8080/web/services/api/records/20420?_type=json. (Reason: header CORS 'Access-Control-Allow-Origin' missing).
有什么想法吗?

您的服务器()不允许您从外部(或仅从您的服务器源服务器)发送请求

您必须允许服务器上的CORS(跨源资源共享), 在您的服务器配置中,有几种方法可以做到这一点


如果您使用的是node.js&express,您可以允许这样的COR:

app.use(function (req, res, next) {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
    next();
});
在express配置文件中。

阅读此页,您应该注意这一段“编写自己的筛选器时要记住的主要思想是,在进行任何AJAX调用之前。浏览器向服务器发送一个选项AJAX请求。服务器需要以所需的权限回复此选项调用。”:D