-1

jqueryとphpで簡単なメモを取るアプリケーションを1つ作成しました。現在の機能は、ユーザーが保存ボタンをクリックすると、完全なデータを含む ajax 要求を送信して db(mysql) で更新するようなものです。すべてうまくいきます。しかし今、ユーザーの入力中に変更されたテキストのみを自動保存したいと考えています。テキスト変更イベントでテキスト全体を何度もサーバーに送信したくありません。変更されたテキストのみを送信する必要があります。

例: これは保存されたテキストです。

ユーザーが入力を続けたとき。 これは保存されたテキストです。保存されていないテキスト..

「保存されていないテキスト..」のみをサーバーに送信して、データベースで更新できるはずです。

これをjqueryおよびサーバー側スクリプトで実装するにはどうすればよいですか? 何か案が..?

4

2 に答える 2

1

これは良い考えではないと思います。まず、なぜこの機能が必要なのですか? ふざけて、どこかで見てカッコイイだろうと思ったのは、あまり有効ではありません。私が見る正当な理由の 1 つは、メモが巨大になり、それらをサーバーに絶えず送信したくないということです。ただし、テキストメモでは大きなメモを取得するのは難しいことを理解する必要があります. 1KB を超えるには、たくさん入力する必要があります。

本当に必要な場合は、クライアントとサーバーで変更を見つける処理を行う必要があります。クライアントでは、何が変わったのかを見つける必要があります (そして、質問について考えるのにどれだけの時間を費やしたかを考慮すると、これができるとは思えません)。最後に新しいテキストを追加するだけではありません。もしその人が:

  • 真ん中にテキストを追加
  • 一部のテキストを削除する
  • 文字列を別の文字列に置き換える
  • 上記のものを複数作る

これを行う場合でも、サーバーでこの情報を受信すると、データベース内のフィールドを変更するロジックを作成する必要があります。そして、単純な更新よりもはるかに困難になります。

したがって、これについての私の考えは、物事を複雑にしすぎないことです。

その人が自分の変更を失うのではないかと心配し、ユーザーがいくつかの文字を追加/削除するたびに新しいドラフトをサーバーに送信したくない場合は、localstorage (html5 localshorage) または Cookie を使用してローカルに保存し、クライアントを構築します。これに関するサイドロジック。

于 2013-06-25T11:07:11.990 に答える