【问题标题】:Angularjs and Web ServicesAngularjs 和 Web 服务
【发布时间】:2017-01-22 00:28:38
【问题描述】:

我创建了一个 Web 服务,当我使用这个 url (http://localhost:8080/jerseyweb/crunchify/ftocservice) 时,它会返回一个 JSON 格式的数据。现在我想通过Angular js 获取这些数据,但我无法获取。我尝试使用的代码如下:

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="customersCtrl"> 

 <ul>
 <li ng-repeat="x in names">
{{ x.id + ', ' + x.name }}
</li>
 </ul>
</div>

<script>
var app = angular.module('myApp', []);
  app.controller('customersCtrl', function($scope, $http) {
     alert("hi");
    $http.get("http://localhost:8080/jerseyweb/crunchify/ftocservice")
     .success(function (data, status, headers, config) {
alert("hiee"); // i can not reach at this alert
  $scope.names = data;


});
});
</script>

 </body>
 </html>

http://localhost:8080/jerseyweb/crunchify/ftocservice中的JSON数据如下

[{"id":98.24,"name":36.8}]

【问题讨论】:

  • 控制台有错误吗??另外我认为成功函数只得到一个参数(数据)。尝试删除所有其他参数
  • 我尝试过,但我无法输出任何东西........
  • 也没有得到任何错误,但我尝试调试并发现调试调用无法进入:$http.get("localhost:8080/jerseyweb/crunchify/ftocservice") .success(function (data, status, headers, config) { alert("hiee"); // 我无法到达这个警报 $scope.names = data; });
  • 尝试添加一个 .error(function(data){...}) 看看它是否进入。
  • 是的,我只是尝试一下,然后它就进入了............

标签: json angularjs web-services


【解决方案1】:

Web 服务响应出错.....

@OPTIONS
@Path("/getsample")
public Response getOptions() {
return Response.ok()
  .header("Access-Control-Allow-Origin", "*")
  .header("Access-Control-Allow-Methods", "POST, GET, PUT, UPDATE, OPTIONS")
  .header("Access-Control-Allow-Headers", "Content-Type, Accept, X-Requested-With")
.build();

}

【讨论】:

    【解决方案2】:

    请尝试此代码可能已使用完整:

    var response = $http({
                    method: "GET",
                    url: "http://localhost:8080/jerseyweb/crunchify/ftocservice",
                    dataType: "json"
                });
    
    
    
    response.then(function (obj) {
                $scope.names = obj.data.name;
            }, function () {
                alert('Error.');
            });         
    

    如果数据以字符串格式来自 API,则使用

    var objdata = JSON.parse(obj.data);
    $scope.names = objdata.name;
    

    【讨论】:

    • 如果 API 也位于同一位置,则使用 url:“/jerseyweb/crunchify/ftocservice”,
    • 好的....我有一个 Web 服务,它返回一个 JSON 格式的数据,如上所述......现在我想使用 angular js 获取该数据。但我不能使用 URL(我提到过)获取该数据。并且调用转到错误部分而不是响应部分。并得到我在警报中写的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多