Не показывать ответ в HTML - PullRequest
0 голосов
/ 31 мая 2018

Я начинаю с пружинного ботинка и углового.Я пытаюсь сделать один сервис отдыха, и вызвать его в HTML, используя угловой

У меня это в контроллере JS:

  var app = angular.module('angService', ["ngResource"]);

    app.controller('Hola', [ '$scope', '$http',
    function($scope, $http) {
            $scope.getCountry = function(){
             $http.get('/getCountrys',{
                params:  {'Accept' : 'application/json'}
              }).success(function(response){
                alert(response);
                $scope.countrys = response;
             },function (error){
                 $scope.msg = 'error';
               });
            }
    }
    ]);

В моем приложении SpringBott:

@RestController
@RequestMapping("/")
public class IndicaController {

    @Autowired
    CountryRepository countryRepository;

    @RequestMapping(method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE, value = "getCountrys")
    public List<Country> getCountrys() {
        System.out.println("PRUEBA GET Countrys");
        List<Country> model = new ArrayList<>();
        model = countryRepository.findAll();
        System.out.println(model);
        return model;
    }
}

И в моем HTML:

<!DOCTYPE html>
<html ng-app="angService">
<head>
    <meta charset="UTF-8">
    <title>Pruba para Pruabas</title>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular-resource.js"></script>
<script src="./services/service.js"></script>
</head>
<body ng-controller="Hola" ng-init="getCountry()">
<h1>PRUEBA</h1>

<div ng-show="countrys != null">
    <div ng-repeat="pais in countrys">
        <h1>{{pais.name}}</h1>
    </div>
</div>

<div ng-controlle="name">
    <p> Nombre: <input ng-model="name"> </p>
    <p> Hola: {{name}}</p>
</div>

<h4>{{msg}}</h4>

</body>
</html>

Если я вызываю restController http://localhost:8080/getCountrys Возвращает JSON: [{"id":1,"name":"PORTUGAL","population":2000},{"id":2,"name":"ESPAÑA","population":3000}]

Но если я вызываю HTML с http://localhost:8080/index.html не отображается название страны.

Это мои зависимости POM:

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-jpa</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-logging</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <optional>true</optional>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
        </dependency>
        <!-- Swagger al arquetipo -->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
            <version>2.8.0</version>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>
        <!-- Optional, test for static content, bootstrap CSS-->
        <dependency>
            <groupId>org.webjars</groupId>
            <artifactId>bootstrap</artifactId>
        </dependency>
    </dependencies>

¿Можете ли вы мне помочь?

Ответы [ 3 ]

0 голосов
/ 31 мая 2018

Я предлагаю вам проверить в своем браузере состояние сети, чтобы вы могли видеть, правильно ли сделан запрос, и полезную нагрузку вашего ответа.

0 голосов
/ 31 мая 2018

Я заменяю:

$scope.countrys = response; 

для

$scope.countrys = response.data;

и это работает.

Большое спасибо за вашу помощь.

0 голосов
/ 31 мая 2018

удалить ng-controlle="name" из вашего HTML-кода.И если у вас есть какая-либо консольная ошибка, то сначала разрешите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...