Я новичок в Play и пытаюсь выполнить упражнение из вводного видео на Youtube (https://www.youtube.com/watch?v=bLrmnjPQsZc).
Я делаю несколько вещей по-другому. 1) Я использую более свежую версию Play (2.5 что-то). Я также использую JPA вместо eBean для своего уровня сохраняемости и локальную базу данных Postgres, а не базу данных h2 в памяти. Однако это не должно повлиять на мою проблему.
По сути, я добавил конечную точку GET "/persons", которая возвращает людей в моей таблице Person в формате JSON. Я подтвердил, что это работает и возвращает действительный JSON.
Однако My JQuery, похоже, не достигает этого. Основываясь на руководстве, я написал свой запрос в Coffeescript и теперь проверяю Javascript, в который он скомпилирован.
Вот кофескрипт:
$ ->
$.get "/persons", (persons) ->
$.each persons, (index, person) ->
$('#persons').append $("<li>").text person.name
Вот переведенный javascript (находится по адресу http://localhost:8080/assets/js/index.js как и ожидалось):
(function() {
$(function() {
return $.get("/persons", function(persons) {
return $.each(persons, function(index, person) {
return $('#persons').append($("<li>").text(person.name);
});
});
});
}).call(this);
//# sourceMappingURL=index.js.map
Это мой шаблон:
@(message: String)
@main("Welcome to Play") {
<script type='type/javascript' src='@routes.Assets.versioned("js/index.js")'></script>
<ul id="persons"></ul>
<form action="@routes.HomeController.addPerson()" method="post">
<input type="text" name="name" />
<button>Add Person</button>
</form>
}
"Добавить человека" работает. Я могу сохранять людей и видеть их, когда я вручную делаю http://localhost:8080/persons в мой браузер.
Очевидно, что мои навыки работы с javascript не так сильны, поэтому любая помощь в том, что может пойти не так, или как я могу устранить неполадки, почему li не заполняются, будет очень признательна.