2012-01-25 14 views
2

「コメントを追加」ボタンを使用してコメントを入力できるフォームを設計しました。 ユーザーが入力したコメントは、ページ上のコメントのリストに追加されます。 "appendTo()"関数を使用して新しいコメントを追加しています。しかし、私はページを更新するたびに "appendTo()"関数を使って追加されたコメントはすべて失われます。 私の質問は、「ページの更新」後もコメントを保持する方法はありますか? ヒントやデモの例は非常に役に立ちます。 ありがとうございます。jQueryの問題appendTo関数

+0

あなたはデータベースにコメントを追加し、ページからコメントを取得する必要があります。 – Ashraf

+0

@Mathboyしかし、このアプローチは効率的ではないと思います。ユーザーが新しいコメントを追加するたびにデータベース呼び出しのオーバーヘッドが増えます? – Pranjali

+1

@Pranjali。 No **非効率的**はクライアントページにのみコメントを保存することになりますので、コメントは次のページ訪問に保存されません。**非効率です** – gdoron

答えて

2

「ページの更新」後もコメントを保持する方法はありますか?

いいえできません。クライアント側でのみデータを「保存」すると、ページの更新後に保存されません。 HTTPはステートレスですです。応答がクライアントに到達すると、サーバーはクライアントをもう「認識」しません。

コメントを保存する場合は、コメントを格納する何らかの種類のデータベースを使用する必要があります。

追加に加えて、AJAXpostのコメントをサーバーに追加するようにリクエストする必要があります。

+0

@Mathboyしかし、このアプローチは、ユーザーが新しいコメントを追加するたびにデータベース呼び出しのオーバーヘッドを増加させるので、このアプローチが非効率的ではないと思いますか? – Pranjali

+0

@Pranjali。 No **非効率的**は、クライアントページにのみコメントを「保存」することになるので、コメントは次のページ訪問に保存されません。**これは非効率です** – gdoron

0

コメントはサーバー、つまりデータベースに保存する必要があります。

私は新しいコメントとajaxを記入したフォームを使用することをお勧めします。

<form action="post_comments" method="POST"> 
    <input id="new_comment" type="hidden" name="comment" /> 
</form> 

<div id="comments"> 
    <input type="button" id="add_comment" value="Add Comment" /> 
    <textarea>comment 1</textarea> 
    <textarea>comment 2</textarea> 
</div> 

コメントは更新時に保持されます。
ajaxで投稿する方法を知っていますか?

+0

はい私は 'ajax'に精通しています。私はあなたが提案したアプローチに従うように努め、あなたに知らせます。 – Pranjali

0

ここには2つのオプションがあるようです。バックエンド用のデータベースを作成することもできますし、XML文書にコメントを保存するスクリプトを取得することもできます。コメントはRSSリーダーでも簡単に閲覧できます。