当前位置: 首页 > 知识库问答 >
问题:

我没有使用angularjs将数据获取到restful web服务

子车轶
2023-03-14

这是我的角js代码,我想在其中以Json格式将数据发送到我用java编写的restful Web服务。它调用了webservice,但我没有得到任何数据。

    <script>
        var app = angular.module("myPost", []);
        app.controller("myControl", function ($scope, $http) {

            $scope.title = "",
                    $scope.rating = "",
                    $scope.feedback = "",
                    $scope.role = "";

            $scope.send = function (title, rating, feedback, role) {
                var feed = {
                    title: title,
                    rating: rating,
                    feedback: feedback,
                    role: role
                };
                var head = {'Content-Type': 'application/json'};
                $http({
                    method: 'POST',
                    url: 'myurl',
                    data: feed,
                    headers: head
                }).success(function (data, status, headers, config) {
                    $scope.users = data;
                }).error(function (data, status, headers, config) {
                    $scope.error = status;
                });
            };
        });
    </script>
</head>
<body ng-app="myPost" ng-controller="myControl">
    <form action="">
        Title: <input type="text" name="title" value="" ng-model="title" />{{title}}<br>
        Rating:<br> <select name="rating" ng-model="rating">
            <option>1</option>
            <option>2</option>
            <option>3</option>
            <option>4</option>
            <option>5</option>
        </select><br>
        Feedback: <input type="text" name="feedback" value="" ng-model="feedback"/><br>
        <input type="hidden" name="type" value="article" ng-model="role" />
        <input type="submit" ng-click="send(title, rating, feedback, role)" value="submit" />

这是我需要数据的restful Web服务。

@Path("/database")
public class database {

    @Path("/insert")
    @POST
    @Consumes(MediaType.APPLICATION_JSON)
    @Produces(MediaType.APPLICATION_JSON)
    public String insert(@QueryParam("title") String title,
            @QueryParam("rating") int rating,
            @QueryParam("feedback") String feedback,
            @QueryParam("role") String role) {
        Data d = new Data();
        d.setTitle(title);
        d.setRating(rating);
        String response = new Gson.toJson(d);
    }

返回响应;}

共有2个答案

阎弘雅
2023-03-14

你应该这样做:

$scope.users = data;

而不是这个:

$scope.users = status;

状态仅为请求的响应代码。希望这有所帮助)

伊铭
2023-03-14

您不应该使用QueryParam,因为您不使用GET方法,而是使用POST方法。使用POST,您不使用url传输查询参数,而是传输包含在请求正文中的数据

因此,从其余控制器方面,如果Data类包含与发送的参数名称和值匹配的字段和字段类型,则要检索可以用作参数的信息。

@Path("/insert")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public String insert(Data data) {
   ...
}
 类似资料:
  • 问题内容: 我正在尝试使用$ resource从静态json文件中获取数据,这是代码段: 在控制器中 但是现在,我遇到了一个错误: 你能帮我解决我的问题吗? 问题答案: 您不需要为默认方法指定动作参数(这些方法是“ get”,“ save”,“ query”,“ remove”,“ delete”)。在这种情况下,您可以按原样使用method(这仅需要更改服务定义): PS还有一个提示是,如果您需

  • 问题内容: 我在Mac上将AngularJS 1.0,PHP和mysql与localhost一起使用。 我有一个非常简单的mysql数据库:“ cats”。它具有一张称为“小猫”的表。该表有两列,“ id”和“ name”。数据库中有三只小猫,名字分别是Larry,Curly和Moe。 现在,我有一些简单的PHP代码,可以打开dbase,获取三个记录并以JSON形式返回它们,如下所示:[{“ id

  • 问题内容: 我试图使用Angular从远程WS以Json格式获取数据,但遇到了一些麻烦。数据正确地来自Web服务,但是我不能在控制器内部使用它。这是为什么?角度代码: HTML: 问题答案: 您应该将$ http.get放入控制器中。 而且,Web服务返回的对象不是数组。因此,您的ng-repeat应该是这样的: 这是一个工作示例:

  • 运行30秒后是否显示预期结果 有人知道为什么WebClient的结果是空的,而从endpoint获取数据的其他方法不是空的吗?我使用的是Java11和spring-webflux版本5.1.5。

  • 当我尝试使用Angularjs$http.get()访问wiki api时,出现了CORS问题。这是我的密码 $http.get('http://en.wikipedia.org/w/api.php?action=query 这是错误信息 无法加载XMLHttpRequesthttps://en.wikipedia.org/w/api.php?action=query

  • 问题内容: 我试图创建一个服务来获取json并将其传递给我homeCtrl我可以获取数据,但是当将其传递给我的homeCtrl时,它总是返回undefined。我卡住了。 我的服务: 我的家庭控制器: 问题答案: 您应该从函数返回promise ,当它被解析后,它应该从该函数返回。 厂 同样在控制器内部,您应该调用factory函数,并在service函数解析该调用并将其分配给 码