Javascript 从另一台服务器调用服务并通过AngularJS使用它们

Javascript 从另一台服务器调用服务并通过AngularJS使用它们,javascript,angularjs,spring,service,Javascript,Angularjs,Spring,Service,这是我的javascript代码 var app = angular.module('myApp', []); app.controller('customersCtrl', function($scope, $http) { $http.get("www.test.com/my_project/learningresources/ajaxvalue") .success(function (response) {$scope.names = response;}); });`

这是我的javascript代码

var app = angular.module('myApp', []);
app.controller('customersCtrl', function($scope, $http) {
    $http.get("www.test.com/my_project/learningresources/ajaxvalue")
    .success(function (response) {$scope.names = response;});
});`
我正在调用一个在spring中编写的服务,它位于不同的服务器上。此服务返回一个json数组。在html中,我使用以下代码显示此服务返回的结果:

<tr ng-repeat="x in names">
    <td>{{ x.Name }}</td>
    <td>{{ x.Country }}</td>
</tr>
我发现以下javascript错误XMLHttpRequest无法加载www.test.com/my_project/learningresources/ajaxvalue。请求的资源上不存在“Access Control Allow Origin”标头。因此,不允许“源”访问


这是由于某些数据库权限造成的。我不能得到这个。我是AngularJS和Spring的新手。

这是因为跨域请求,默认情况下不允许向其他域请求

两个主要解决方案是:

CORS跨源资源共享:服务器需要添加响应标头Access Control Allow Origin并将您的域添加到此标头。您需要访问此服务器的服务器代码。与响应类似的内容。addHeader'Access-Control-Allow-Origin'、'domain.foo.bar/*';->这取决于服务器语言

另一个解决方案是使用JSONP


阅读底部关于CORS JSONP链接的更多信息

您正在尝试执行跨域请求,这是浏览器不允许的。 解决方案可以是:

1.调用充当外部域桥梁的服务器服务,并将数据返回给您的角函数

2.使用jsonp代理调用它,并在参数中声明回调函数有一个jquery的答案

关闭chrome浏览器 按win+r。 复制粘贴以下内容

chrome.exe-用户数据目录=C:/chrome开发会话-禁用web安全

然后尝试查看结果,然后告诉您在加载应用程序后是否出现相同的错误。
祝你好运。

同时发布json数据。[{name:Arrange seminar for Android,resourceType:SEMIN},{name:Arrange seminar for SalesForce,resourceType:SEMIN},{name:Big data Trainig Test,resourceType:TRAIN},{name:JAVA-Training,resourceType:TRAIN},{name:SAP-Training,resourceType:TRAIN}]你完全关闭了chrome浏览器吗?这只修复了chrome浏览器的问题+并不是每个客户端都可以在浏览器设置中修复这个问题。应该允许从后端进行修复。