javascript JQuery函数不返回JSON列表播放框架,JPA
我是一个真正的新手,正在尝试在介绍Youtube视频(https://www.youtube.com/watch?v=bLrmnjPQsZc)中进行练习
我正在做一些不同的事情。1) 我正在使用一个更新版本的Play(2.5左右)。我还在持久层中使用JPA而不是eBean,使用本地Postgres数据库而不是h2内存数据库。不过,这不应该影响我的问题
基本上,我添加了一个“/persons”GET端点,它以JSON格式返回Person表中的人员。我已经确认了这一点,并返回了有效的JSON
然而,我的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没有被填充的问题,我将不胜感激
# 1 楼答案
看起来结尾缺少了一个闭括号
https://jsfiddle.net/8va4k4wu/2/
# 2 楼答案
我终于明白了。在插入一些控制台之后。在我的javascript中记录行,并意识到函数实际上没有被命中,我意识到我的模板脚本标记中有一个输入错误:
脚本类型应为“text/javascript”,而不是“type/javascript”
将此导联修改为控制台输出的“ReferenceError:$is not defined”,这很快让我想到了这个问题,建议的解决方案对我很有效:
Uncaught ReferenceError: $ is not defined (using play framework)