Call Spring-Boot API from AngularJS



我在Spring Boot上运行API,我想使用AngularJS的HTTP调用访问数据。但这给了我错误

xmlhttprequest不能加载http://localhost:9000/transaction-service/transaction/query?id = 8001032090001502473014666660013。请求的资源上没有"访问控制"标头。源'http://localhost:3000'不允许访问。

我知道这与标题有关,但我不知道该怎么做。

您违反了在Angularjs中处理此问题的相同原点策略限制。您有两个解决方案带填充物(JSONP)和交叉原始资源共享(CORS)标题的JSON。

让我们检查一个示例JSONP请求和响应,以查看其在实践中的工作方式。首先,我们需要调用JSONP请求:

$http
  .jsonp('http://angularjs.org/greet.php?callback=JSON_CALLBACK', {
    params:{
      name:'World'
    }
  }).success(function (data) {
    $scope.greeting = data;
  });

或设置适当的CORS标头,以允许您跨域资源共享。如果您正在使用Apache:

将以下内容放入.htaccess文件中:

 Header set Access-Control-Allow-Origin "*"

如果您无法访问Apache,则仍然可以从PHP脚本发送标头。这是将以下内容添加到您的PHP脚本的情况:

 <?php
 header("Access-Control-Allow-Origin: *");

最新更新