1

たとえば、テーブル、値がある場合はリストを更新する必要があります。新しい値を挿入し、ページ全体をリロードして、テーブルまたはリストの値を再度表示することができます。

Ajax の更新を試す場合は、DOM を操作して新しいタグを作成し、連結して古い HTML に新しい HTML を挿入する必要があります。これは面倒な方法ではありません。新しいエントリを表示するには、以前に作成したコードを再入力する必要さえあります。

例: これは架空の例であり、私の言いたいことを示しています。

$.ajax({
    url: '/post/addComment/',
    type: 'POST',
    data: 'comment=' + comment,
    beforeSend : function() {
        //waiting message
        $('#some_information_div').html('<strong>Updating...</strong>');
    }
}).done(function(data) {
        //new data comes here (by JSON, plain text, whatever...)
        if (data.status == 'OK') {
            //OHHH MAN WE HAVE TO POPULATE MANUALLY IT AGAIN
            var c = '';
            c = '<table>'

            data.content.forEach(function(e) {
                c += '<tr><td>' + e.name + '</td></tr>';
            });

            c += '</table>'

            //update with new values
            $('#some_information_div').html('');
            $('#destination_table').html(c);
        }
});

残念ながら、リストとテーブルを常に処理する必要があり、どういうわけかコードを再入力して、JavaScript ですべてを操作する必要があります。jQuery.load()のように、何かが役立つ可能性があることがわかりました。おそらく、私が望むものに適合する可能性がありますが、試していません。

JSF などの他の言語やフレームワークでは、「レンダリング手法」を使用して簡単に行うことができます。DOM を手動で作成および操作することなく、コンテンツを直接更新できます。

どんな種類の提案でも、このアプローチの手がかりは非常に役に立ちます。

PS: コード サンプル タグはここではうまく機能しません。

4

1 に答える 1

3

これは、.load()jquery 関数を使用して実行できます。いくつかのページ 1.php と ID mytable を持ついくつかのテーブルについて説明しました

$('table#mytable').load('./1.php #mytable');

絶え間ないリフレッシュのために --

setInterval(function() {
$('tablev#mytable').load('./1.php #mytable');
}, 5000);
于 2013-06-06T13:46:52.783 に答える