2016-05-30 23 views
1

私はライブチャットの拡張機能に取り組んでいます。顧客が送信ボタンをクリックしたときにチャットレコードを正常に取得しました。私は顧客に自動的にそのメッセージを表示する必要がある一方で、私は管理者がそのメッセージを返信するときに探していますMysqlデータベースに新しいレコードを追加中にトリガーajax

enter image description here

は、(新しいレコードがデータベースに追加されました)。

私はレコードを取得するためにajaxを使用しています。

$(".csend").click(function() { 
      var a=$(".typearea").val(); 
      if(a!="") 
      { 
       $.ajax({ 
        type: "POST", 
        url: "http://magentodev.gworks.mobi/magento2/livechat/ajax", 
        data: { 
         message: a 
        }, 
        success: function (Response) { 
         $(".messagelist span").remove(); 
         $(".messagelist").append(Response); 
        } // you had an extra); 
       }); 
      } 
     }); 

誰かが状況をすでに処理してくれることを願っています。これを達成する最良の方法は何ですか?

私はa-zを期待していませんが、達成するキーポイントやヒントやステップだけで十分です。

注:は時間ループなしで大歓迎です。

+1

このライブラリを試してみてください。http://socketo.me/ –

+0

'note:時間のないループが大変ありがとうございます.'新しいコンテンツがいつ送信されるのかをデバイスはどのように知っていますか?サービス(これは時間をかけてループしている)なしでは簡単ではありません。私は 'setintervall'と一緒に行き、毎秒または5秒ごとに電話をかけます。 – KikiTheOne

+0

継続的に実行されるスクリプトが変更を検出するためには、ajaxの時間間隔を設定することを意味します。 –

答えて

1

提案:Ajaxはリアルタイムチャットの解決策ではありません。ソケットプログラミングを統合する必要があります。 http://socket.io/を参照してください。統合しない場合は、https://www.pubnub.com/solutions/chat/を参照してください。

pubnubはパブリッシュ作成 - >加入者ソケット

//PUBLISH 
pubnub.publish({ 
     channel : "PUBLIC_CHAT", 
     message : "Hello!" }); 

//SUBSCRIBE 
pubnub.subscribe({ 
     channel : "PUBLIC_CHAT", 
     message : callback }); 

注意:あなたがアヤックスからソリューションをしたいなら、あなた持っている唯一の方法は、「時間間隔」等の顧客またはadmin最後のメッセージのためのDBをチェック - >

var minutes = 1; 
setInterval(function() { 
    //get customer or admin last message from db 
}, 1000 * 60 * minutes); 
+0

@ BilalUsean、大丈夫です。どのような方法でpubnubまたはsocket.ioを使用するのか教えてください。 –

+0

pubnubは接続されている100デバイスまでのみ無料です。私は正しい? –

+0

はい、あなたは正しいです。 –

関連する問題