我想附加无限数量的HTML元素,并将数据作为注释给出。这是我的ajax:
function ajaxsubmit(){
$.ajax({
url: "/update",
type: "POST",
dataType: "html"
}).success(function(data) {
$('#result').html(data);
});
}
和我的HTML部分:
<div class="post" id="result"></div>
这是我的服务器端功能:
public static Result ajaxupdate(){
String done = "test";
return ok(done).as("text/html");
}
此功能仅追加一次,如果我第二次点击,则不附加。是因为我每次都应该有不同的身份证吗?这怎么可能(比如stackoverflow中有多条评论是如何工作的!)
先谢谢..
答案 0 :(得分:1)
关于堆栈溢出的每个注释都会有某种ID关联(可能来自存储所有堆栈溢出数据的数据库,这将是唯一的,我猜这将以某种方式用作元素id。< / p>
最后,如果你有一个完整的评论系统,你可能想要从你的ajax调用中返回JSON。这个JSON可能看起来像这样:
{“id”:“12345”,“text”:“评论文字”,“用户”:“Andy”}
然后你可以解析它并将它添加到你的页面,并以'12345'作为包含元素的ID,或其他东西!
如果失败,暂时您可以使用jQuerys data()功能保存ID。这将在jQuerys自己的缓存中存储该元素的ID。这样就不需要是唯一的了。
无论哪种方式,我都确定非唯一元素ID将是它没有显示的原因。
<强>更新强>
Duh,当然,Carsten是绝对正确的,但希望你在这篇文章中可能还有一些很好的信息! :)
答案 1 :(得分:1)
使用$('#result').html(data);
时,#result
的内容将替换为新数据。
要将新数据附加到result
,请使用
$('#result').append(data);