Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.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
Javascript CORS原因:CORS头&x2018;访问控制允许原点’;角Js中缺少_Javascript_Angularjs_Rest - Fatal编程技术网

Javascript CORS原因:CORS头&x2018;访问控制允许原点’;角Js中缺少

Javascript CORS原因:CORS头&x2018;访问控制允许原点’;角Js中缺少,javascript,angularjs,rest,Javascript,Angularjs,Rest,我刚刚开始学习Angular,正在使用Oracle Fusion HCM的REST API。 在Netbeans Tomcat中运行该项目时,以及作为部署到Oracle Java cloud service的war文件,我得到了以下firefox或chrome的调试控制台原因:CORS标头“Access Control Allow Origin”丢失 我理解在一个简单的google搜索中这是什么,它是一个服务器限制,需要在RESTAPI的服务器中进行配置 但请相信我,我在纯javascript函

我刚刚开始学习Angular,正在使用Oracle Fusion HCM的REST API。 在Netbeans Tomcat中运行该项目时,以及作为部署到Oracle Java cloud service的war文件,我得到了以下firefox或chrome的调试控制台原因:CORS标头“Access Control Allow Origin”丢失

我理解在一个简单的google搜索中这是什么,它是一个服务器限制,需要在RESTAPI的服务器中进行配置

但请相信我,我在纯javascript函数中运行了相同的RESTAPI,它可以毫无问题地检索值。 那么,有人能帮我找出下面的角度代码中的错误吗

<html>
<head>
<title>Employee Details Using AngularJS</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
</head>
<body>

<div ng-app="myApp" ng-controller="myCtrl"> 

<p>Employee Details from JCS-SX</p>

<p>{{myWelcome}}<p>

</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope, $http) {
$http({
method : "GET",
url : "https://****-test.hcm.em2.oraclecloud.com/hcmCoreApi/resources                                       /11.1.11/emps/",
headers: 
        {
            'Authorization': 'Basic ' +'ZmDSAScsSDdsSASC=',
            'Content-Type': 'application/jsonp; charset=utf-8'
        }
}).then(function mySuccess(response) {
  $scope.myWelcome = response.data;
}, function myError(response) {
  $scope.myWelcome = response.statusText;
});



});

</script>
</body>
</html>

使用AngularJS的员工详细信息
来自JCS-SX的员工详细信息

{{myWelcome}} var-app=angular.module('myApp',[]); app.controller('myCtrl',函数($scope,$http){ $http({ 方法:“获取”, url:“https://**-test.hcm.em2.oraclecoud.com/hcmCoreApi/resources/11.1.11/emps/”, 标题: { “授权”:“基本”+“zmdsacsddsssasc=”, “内容类型”:“应用程序/jsonp;字符集=utf-8” } }).then(函数mySuccess(响应){ $scope.myWelcome=response.data; },函数myError(响应){ $scope.myWelcome=response.statusText; }); });
您需要在API服务器上添加中间件accept cross domain

您需要明确允许前端域访问后端。如果您正在开发,您可以将“访问控制允许来源”标题设置为与您的请求“来源”标题相同:

(这是python代码,但您应该能够在后端实现相同的代码)


在生产中,您应该明确地将“访问控制允许来源”设置为与前端域相同。

配置后端,以便它可以接受您的请求
resp.set_header("Access-Control-Allow-Origin", self.set_allowed_origin_header(req.get_header('Origin')))