AngularJS不允许CORS请求

时间:2014-10-13 17:29:51

标签: javascript angularjs

我正在尝试使用以下代码从Angular JS控制器访问API:

$scope.getOperators = function() {
    $scope.CSVData.forEach(function(entry) {
        $http.defaults.useXDomain = true;
        $http({
            url : 'http://api.pts.se/PTSNumberService/Pts_Number_Service.svc/json/SearchByNumberList?numbers=' + number,
            method : 'get'
        }).success(function(data, status, headers, config) {
            console.log(data);
        });
    });
};

但我一直收到错误:

XMLHttpRequest cannot load http://api.pts.se/PTSNumberService/Pts_Number_Service.svc/json/SearchByNumberList?numbers=76-3095686. Origin http://localhost:8888 is not allowed by Access-Control-Allow-Origin.

据我所知,我知道应该从服务器启用CORS请求,但此时请求是从客户端发送的。

我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

服务器提供CORS支持。您需要在那里启用它。

Access-Control-Allow-Headers: Content-Type
Access-Control-Allow-Methods: GET, POST, OPTIONS
Access-Control-Allow-Origin: *

理想情况下,您只需将Access-Control-Allow-Origin替换为您想要允许的域名,否则任何人都可以从其服务器远程访问api。