Spring boot Json.parse datatables не может загрузить данные - PullRequest
0 голосов
/ 22 октября 2019

У меня проблема в том, что таблицы данных ничего не загружают и снова и снова зацикливают первые данные, не останавливаясь. Ниже мой код выглядит так:

<!DOCTYPE html>
<html xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
	layout:decorate="~{layouts/main}"
	xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="ISO-8859-1">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="/assets/css/jquery.dataTables.min.css"> 
<link rel="stylesheet" type="text/css" href="/assets/css/dataTables.bootstrap4.min.css">
</head>
<body>
	<div layout:fragment="content" style="margin-right: 10px; margin-left: 10px;">
		<div class="row" style="margin-top: 20px;">
			<div class="col-sm-8 col-5">
				<h4 class="page-title">Illness</h4>
			</div>
		</div>
		<div class="row">
			<div class="col-md-12">
				<div class="table-responsive">
					<table
						class="table table-border table-striped custom-table mb-0" id="dataTable">
						<thead>
							<tr>
								<th>Name</th>
								<th>Description</th>
								<th>Season</th>
								<th>Type</th>
								<th>Status</th> 
								<th></th>
							</tr>
						</thead>
						<tbody>
							<tr>
								<td></td>
								<td></td>
								<td></td>
								<td></td>
								<td></td>
								<td></td>						 
							</tr>
						</tbody>
					</table>
				</div>
			</div>
		</div>
			<!-- 	Delete confirm modal -->
		<div class="modal fade" id="deleteConfirm">
			<div class="modal-dialog">
				<div class="modal-content">
					<div class="modal-header">
						<a href="#" class="close" data-dismiss="modal">&times;</a>
						<h4>Delete Record</h4>
					</div>
					<div class="modal-body">
						<h4>Are you sure you want to disable this record?</h4>
					</div>
					<div class="modal-footer">
						<a href="#" class="btn btn-primary" data-dismiss="modal">Cancel</a>
						<a href="#" class="btn btn-danger" onclick="ConfirmDelete()">Confirm</a>
					</div>
				</div>
			</div>
		</div>

		<!--  -->
		 
		<div class="form-group">
			<div class="col-sm-10">
				<a class="btn btn-primary" th:href="${'/illness/create/'}"
					role="button">Add New</a>
			</div>
		</div>

<script type="text/javascript"> 
			$(document).ready(loaddata());
			function loaddata() {
				$("#dataTable")
						.DataTable({
									"ajax" : 
									{
										"url" : "/admin/illness/list",
										"type" : "GET",
										"datatype" : "json",
										"dataSrc" : function(json) {
											for (var i = 0; i < json.length; i++) {
												json[i][0] = json[i].name;
												json[i][1] = json[i].description;
												json[i][2] = json[i].season_id;
												json[i][3] = json[i].illness_type_id; 
												json[i][4] = json[i].status == 1 ? 'Active' : 'Inactive';
												json[i][5] = "<a href='/admin/illness/edit/"+json[i].illness_id+"' class='btn btn-primary btn-outline'><i class='fa fa-pencil'></i></a>"
														+ " "
														+ "<a href='#' onclick='DeleteRecord("+json[i].illness_id+")' class='btn btn-danger btn-outline'><i class='fa fa-trash'></i></a>";
											}
											return json;
										}
									},
									"language" : {
										"emptyTable" : "No data found, please add new"
									}
								});
			}
			//Delete
			var id;

			function DeleteRecord(illness_id) {
				id = illness_id;
				$("#deleteConfirm").modal("show");
			}

			function ConfirmDelete() {
				$.ajax({
					type : "POST",
					url : "/illness/delete?illness_id=" + id,
					success : function(result) {
						window.location.href = "/illness/list";
						$("#DeleteConfirm").modal("hide");
					}
				})
			}
}
		</script>
	</div>
	
</body>
</html>

Когда я запускаю / admin / болезнь / список

@RequestMapping(value = "/data", method = RequestMethod.GET)
    public ModelAndView appointment() {
        ModelAndView model = new ModelAndView();
        model.setViewName("illness/illness-data");

        return model;
    }

    @RequestMapping(value = "/list", produces = MediaType.APPLICATION_JSON_VALUE)
    public @ResponseBody Object list()
    {
         List<Illness> illnessList = illnessRepository.findAll();
         return illnessList;
    }

Появляется ошибка "SyntaxError: JSON.parse: неожиданный конец данных в строке 1столбец 223878 данных JSON ". Кто-нибудь должен решить это?

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