0

小さな Web アプリケーションを作成しています。ページ全体を更新せずに、サーバー上の SQL データベースからフィールドの最新データを更新したいと考えています。これは可能ですか? はいの場合、どうすればそれを行うことができますか?

jQuery を使用して時々ページ全体を更新できると思いますが、特に重いサイトでは、大量のトラフィックが発生するため、あまり賢明ではないと思います。代わりに、データベースの最新データを使用してフィールドを更新したいと思います。

var refresh = function() {
   location.reload(true);
}

$(document).ready(function() {
   setTimeout(refresh, 10000);
});

これまでのところ、これでほとんどすべてです。

別の同様の質問を見つけたところ、人々は XMLHttpRequest の使用を提案しました。それを使用して SQL データベースからデータを取得することは可能ですか?

また、その可能な XMLHttpRequest ソリューションを見つけようとしたときに、.ASP ファイルを使用してその XMLHtppRequest を SQL クエリに変換できる可能性があることを発見しましたが、いくつかの Microsoft サーバー フレームワークととにかく、私がプログラミングしているアプリケーション全体のサイズと目的と比較すると、かなりラフで難しい方法のように思えました。特に、サイト全体が Linux で実行されている場合。

さらに、websockets とオブザーバー パターンについてかなり多くのことを読みました。理論的には、サウンドは素晴らしく、まさに私が必要としているものですが、まあ、私はこれらのことにはまったく慣れていないので、それを避けることができれば、まだそのようにしたくありません. しかし、それを行う簡単な方法があり、誰かがそれについての良いチュートリアルを見せてくれれば、私も嬉しいです.

しかし、現時点では、その「古き良きポーリング」を行う方法を主に探しています。ページ全体をリロードするよりもずっと良い方法だと思います。

あらゆる種類のアドバイスは大歓迎です。

4

2 に答える 2

1

あなたはその問題を考えすぎていると思います。これは解決済みの問題であり、現在ほとんどすべての Web サイトで使用されています: AJAX を使用します。JQuery には組み込みの ajax 機能があり、ajax リクエストを非常に簡単に送信できます。

サーバー側で、url エンドポイントを作成します。データベースに保存するリソースごとに固有のエンドポイントを持つことが理想的です。例えば:

http://mywebsite.com/book/?uid=124234

この URL は、理論的には、ID 124234 の本の CRUD インターフェイスを提供します。POST リクエストを発行して、このオブジェクトを更新できます。または、GET 要求を発行してすべてのデータを取得できます。

これが役立つことを願っています。

于 2012-09-17T17:18:30.160 に答える
0

フレームワークに Django を使用している場合は、django-socketioを参照することをお勧めします。

于 2012-09-17T17:20:35.990 に答える