Jquery не работает, когда я запрашиваю отдых службы (весенняя загрузка) - PullRequest
0 голосов
/ 29 апреля 2019

Я работаю над API-интерфейсом для весенней загрузки и хочу перенести информацию из API-интерфейса rest на страницу html.Я попытался это с помощью jquery, но я не мог взять данные.

Вот мой контроллер покоя

package tr.kasim.Controller;

import java.sql.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import tr.kasim.Service.PersonelService;
import tr.kasim.Service.PtsGirisCikisService;
import tr.kasim.Model.Personel;
import tr.kasim.Model.PtsGiriscikis;

@CrossOrigin("*")
@RestController
public class STRestController {

@Autowired
public PersonelService personelService;

@Autowired
public PtsGirisCikisService ptsGirisCikisService;

@GetMapping("/api/personels")
public ResponseEntity<List<Personel>> getPersonels(){
    List<Personel> personels = personelService.findAll();
    return ResponseEntity.ok().body(personels);
}

@GetMapping("/api/giriscikis")
public ResponseEntity<List<PtsGiriscikis>> getGirisCikis(){
    List<PtsGiriscikis> giriscikis = ptsGirisCikisService.findAll();
    return ResponseEntity.ok().body(giriscikis);
}

//@GetMapping("/api/personel")
@RequestMapping(method=RequestMethod.GET, value="/api/personel", produces="application/json" )
public ResponseEntity<List<PtsGiriscikis>> getPersonelByKartNoAndİseGiris(@RequestParam("kartno") String KartNo , @RequestParam("tarih") Date IseGirisTarihi){
    String errorMessage="Aranilan Personel Bulunamadi!";

    Personel personel = personelService.findPersonelByKartnoAndIsegiristarihi(KartNo , IseGirisTarihi);

    if(!personel.equals(null)) {
        List<PtsGiriscikis> girisCikis = ptsGirisCikisService.findByPersonelid(personel.getId());
        return ResponseEntity.ok().body(girisCikis);
    }

        return null;
}

}

Вот мой контроллер

package tr.kasim.Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class STController {

@GetMapping("/")
public String goHome() {
    return "templates/index";
}
}

Вот страница index.html

<!DOCTYPE html>
<html>
<head>
    <title>Hello jQuery</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
        function findPersonels() {
            $.ajax({
                type:"GET",
                url: "/api/personels",
                contentType: "application/json"
            }).then(function(data) {
                $('.giriscikis-id').append(data.id);
                $('.giriscikis-ad').append(data.ad);
            });
        }
    </script>
</head>

<body>
    <div>

        <p class="giriscikis-id">The ID is </p>
        <p class="giriscikis-ad">The name is </p>
        <input type="button" id="doldur" name="doldur" value="field doldur" onclick="findPersonels();">
    </div>
</body>

Я перепробовал множество примеров приложений jquery + spring, но все равно ничего не получил.Когда я попытался добраться до index.html, я только что увидел свои записи html, информация об остальных сервисах не отображается.Пожалуйста, поправьте меня, спасибо.

1 Ответ

1 голос
/ 29 апреля 2019

С ограниченной информацией:

  1. Я полагаю, что ваше отображение пути к шаблону неверно.Разве это не должно быть так?

    @ GetMapping ("/") public String goHome () {return "templates / index";}

  2. Uncaught ReferenceError означает, что ваш метод не найден.Пожалуйста, проверьте правильность написания (в вашем примере выглядит хорошо, пожалуйста, проверьте еще раз в вашем коде).В вашем примере фигурные скобки findPersonels полностью запутаны.Слишком много ).Если это исправлено, проверьте в консоли браузера, нет ли http404 при загрузке страницы (чтобы был найден js/personels.js).

  3. Ваша конечная точка /api/personels определяет список как тип возвращаемого значенияно ваш скрипт использует свойства data.ad и data.id, которые не похожи на ожидаемый список.Возвращенный json, вероятно, выглядит примерно так { items: [ { 'ad': 'first personel' 'id': '1' }, { 'ad': 'second personel' 'id': '2' } ] } Структура зависит от вашего маршаллера JSON.Таким образом, правильный синтаксис для доступа к вашему объекту в JS будет выглядеть примерно так: data.items[0].id.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...