【问题标题】:retrieve data AngularJS and spring MVC检索数据AngularJS和spring MVC
【发布时间】:2015-01-20 13:15:17
【问题描述】:

我想通过 AngularJS 和 spring MVC 进行搜索,但以下代码不起作用 Eclipse 控制台或 Web 控制台中没有错误

这是 Spring MVC 控制器

@RequestMapping(value = "app/rest/contacts/search",
        method = RequestMethod.GET,
        produces = MediaType.APPLICATION_JSON_VALUE)
@Timed
public List<Contact> find(@RequestParam(value = "name") String name) {
    List<Contact> queryResults = contactRepository.search(name);
    return queryResults;
}

这是 AngularJS 服务

 pagingpocApp.factory('Contact', function ($http) {
 return {
        search: function(name) {
            var promise = $http.get('app/rest/contacts/search',{params: {name: name}}).then(function (response) {
                return response.data;
            });
            return promise;
        }
 }
  });

这是 AngularJS 控制器

pagingpocApp.controller('ContactController', function ($scope, $filter,resolvedContact, Contact) {
$scope.search= function() {
    Contact.search($scope.name).then(function(obj) {
        console.log(obj)
                  });
    }
   });

HTML页面

<input ng-model="name">
<input type="submit" ng-click="search()">

【问题讨论】:

  • 使用浏览器的调试工具观察网络流量,打开 Web MVC 日志到 DEBUG 并查看请求是否通过,并确保如果那不是 @RestController,则使用 @987654326 @.

标签: java angularjs spring-mvc


【解决方案1】:

您的代码是正确的没有错误,请确保您使用的函数名称不超过一个,您可以在角度控制器中的两个函数中使用搜索名称

【讨论】:

    【解决方案2】:

    试试这个,

    将此行改为

    var promise = $http.get('app/rest/contacts/search',{params: {name: name}}).then(function (response) {
                return response.data;
            });
    

    var promise = $http.get('app/rest/contacts/search',{params: {name: name}});
    

    然后在 ContactController 中,执行 obj.data 应该会给你数据。

    【讨论】:

      猜你喜欢
      • 2013-05-13
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 2016-02-06
      • 1970-01-01
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      相关资源
      最近更新 更多