0

コメントとして与えられたデータに無制限の数の 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");
}

この機能は 1 回だけ追加され、2 回目にクリックすると追加されません。毎回異なるIDを持っている必要があるからですか?それはどのように可能ですか (stackoverflow のように、複数のコメントがどのように機能するか!)

前もって感謝します..

4

2 に答える 2

1

スタック オーバーフローに関する各コメントには、何らかの ID が関連付けられます (おそらく、すべてのスタック オーバーフロー データを格納しているデータベースからのもので、一意であり、要素 ID として何らかの方法で使用されると思います。

最終的に、完全なコメント システムがあれば、おそらく ajax 呼び出しから JSON を返したいと思うでしょう。この JSON は次のようになります。

{"id":"12345","text":"コメントのテキスト","user":"Andy"}

そして、これを解析して、「12345」を含む要素 ID などを使用してページに追加することができます。

それができない場合は、当面は jQuerys のdata()関数を使用して常に ID を保存できます。これにより、要素に対する ID が jQuery 独自のキャッシュに格納されます。この方法では、一意である必要はありません。

いずれにせよ、一意ではない要素 ID が表示されない理由になると確信しています。

アップデート

もちろん、Carsten の言うことは間違いありませんが、この投稿にまだ有益な情報が含まれていることを願っています。:)

于 2012-06-22T14:37:39.193 に答える
1

$('#result').html(data);の内容を使用する#resultと、新しいデータに置き換えられます。新しいデータを に追加するには、次resultを使用します

$('#result').append(data);
于 2012-06-22T14:40:47.710 に答える