好きなようにチャット システムを作成するのはそれほど難しくありませんが、自分が何をしているのかを知る必要があります。最初に、ユーザーをクリックしたときにチャットを最初にロードするファイルが必要です。
チャットをロード
function loadChat (userid) {
$.get("/ajax/getChat.php", {
userid: userid
}, function (data) {
//add the chat
});
}
次に、新しいメッセージを受信できるように、チャットを ping できる必要があります。Web ソケットまたはより簡単な方法であるserver-sent eventsを使用することをお勧めします。投票はお勧めしません。
ピンチャット
サーバー送信イベントは次のようになります。
var pinger = new EventSource("/ajax/pingMessages/" + userid);
pinger.onmessage = function (data) {
data = data.data;
// append messages
};
SSE は AJAX を使用したポーリングよりもサポートが少ないですが、より適切に機能し、サーバーとのオープンな接続を維持できるため、最終的にリソースを節約できます。SSE 用のポリゴン フィルがいくつかありますので、チェックしてみてください。
送信機能も必要です。
メッセージを送る
function send (userid) {
$.post("/ajax/send.php", {
userid: userid,
message: $.trim($('.chat[data-id*="'+ userid +'"] input[type="text"]').val())
});
}
注これらのリクエストはすべて、userid
. サーバー側では、現在のユーザー ID を考慮することができます。
メッセージ用に 1 つのテーブルをセットアップする必要があります。会話にユニークさを与えて、id
そこから始めましょう。実際の JavaScript よりもサーバー エンドで多くのことを行う必要があります。
サーバー送信イベントと AJAX を使用する前に、チャットを作成しました。ロジックのほとんどはサーバー側にありました。
これが役に立ったかどうかはわかりませんが、これで少しはわかると思います。