【发布时间】:2013-01-03 15:44:28
【问题描述】:
我有一条路线
/notes/#NoteId NoteR GET
我想从另一个页面链接到它。 使用“经典”小村庄时,很简单:
<a href=@{NoteR $ entityKey note}>notetitle
我希望我的页面更加动态,并获取包含注释信息和注释 ID 的 JSON 数据。如何生成正确的和类型安全链接?
我已经在.julius 文件中添加了这段代码,但它无法编译,因为它需要一个“NoteId”。我应该在 URL 插值 @{..} 的某处插入 obj.id... 任何线索如何做到这一点?
function loadnotes() {
var list = $("#results");
jQuery.getJSON("@{NotesR}",
function(o){
$.each(o, function (i, obj) {
$('<a href=@{NoteR}/>' + obj.title + '</a>').appendTo(list);
})});
}
window.onload = loadnotes;
编辑:
我有这个在Model.hs:
instance ToJSON (Entity Note) where
toJSON (Entity nid (Note title content created_at updated_at userId)) = object
[ "id" .= nid
, "title" .= title
, "content" .= (unTextarea content)
, "created_at" .= created_at
, "updated_at" .= updated_at
, "userId" .= userId ]
【问题讨论】:
-
我不擅长 javascript,但在我看来,hamlet 示例中的
note值是一个类型化的 haskell 值。但是 julius 代码中的obj是一个无类型的 javascript 对象。将没有已知类型的东西作为类型安全 url 的一部分有意义吗?