• 24-02-2019, 02:12:09
    #1
    setTimeout(function()
    { refreshMessageList(); }, 5000);
    Bu şekilde verilerimi her 5 saniyede bir kontrol ettirip güncelliyorum.
    Direk ajax ile post ettikten sonra güncelleme yöntemi yok mu?
  • 24-02-2019, 02:33:12
    #2
    @pratikadres; Konu sahibi izni ile bende takipteyim .
  • 24-02-2019, 03:23:05
    #3
    Merhabalar örnek olarak SignalR yapısını kullanabilirsin. Çalışma mantığı şu şekildedir. Program içindeki bir metodu sen takip edersin -ki bu durumda senin takip etmen gereken metod Mesaj Gönderme metodu olmalı- Bu metod tetiklendiğinde bunu dinlediğin tüm cihazlara bir uyarı gönderilir ve tüm cihazlarda bu veri yenilenmiş olur. Yani sürekli post isteği yollamak yerine SignalR metodun tetiklenip tetiklenmediğini takip etmiş oluyor.
  • 24-02-2019, 13:45:02
    #4
    pratikadres adlı üyeden alıntı: mesajı görüntüle
    setTimeout(function()
    { refreshMessageList(); }, 5000);
    Bu şekilde verilerimi her 5 saniyede bir kontrol ettirip güncelliyorum.
    Direk ajax ile post ettikten sonra güncelleme yöntemi yok mu?
    Global olarak ajax etkinliğini izleyebilirsin. Örneğin aşağıdaki kod ile site içerisinde herhangi bir ajax isteği başarılı olduğunda veya diğer etkinliklerde istediğin kod bloğunu çalıştırabilirsin.



    /*
    .ajaxComplete()
    .ajaxError()
    .ajaxSend()
    .ajaxStart()
    .ajaxStop()
    .ajaxSuccess()
    */
    
    $( document ).ajaxComplete(function( event, xhr, settings ) {
      if ( settings.url === "ajax/test.html" ) { 
           refreshMessageList();
          // burada gerekli kontrolleri sağlayabilirsin
          //xhr.responseText
      }
    });
  • 24-02-2019, 13:51:53
    #5
    Ajax’ın Success objesini kullanabilirsiniz.
    Link
  • 24-02-2019, 14:52:36
    #6
    hrkn adlı üyeden alıntı: mesajı görüntüle
    Global olarak ajax etkinliğini izleyebilirsin. Örneğin aşağıdaki kod ile site içerisinde herhangi bir ajax isteği başarılı olduğunda veya diğer etkinliklerde istediğin kod bloğunu çalıştırabilirsin.



    /*
    .ajaxComplete()
    .ajaxError()
    .ajaxSend()
    .ajaxStart()
    .ajaxStop()
    .ajaxSuccess()
    */
    
    $( document ).ajaxComplete(function( event, xhr, settings ) {
      if ( settings.url === "ajax/test.html" ) { 
           refreshMessageList();
          // burada gerekli kontrolleri sağlayabilirsin
          //xhr.responseText
      }
    });
    ajax işlemi bittiğinde başarılı oldugunda bu fonksiyonlardan birini mi çalıştıracağım success içerisinde

    .ajaxComplete()
    .ajaxError()
    .ajaxSend()
    .ajaxStart()
    .ajaxStop()
    .ajaxSuccess()
  • 24-02-2019, 14:55:44
    #7
    pratikadres adlı üyeden alıntı: mesajı görüntüle
    ajax işlemi bittiğinde başarılı oldugunda bu fonksiyonlardan birini mi çalıştıracağım success içerisinde

    .ajaxComplete()
    .ajaxError()
    .ajaxSend()
    .ajaxStart()
    .ajaxStop()
    .ajaxSuccess()
    aşağıdaki kodu refreshMessageList fonksiyonunun hemen altına koyun yeterli.
    $( document ).ajaxSuccess(function( event, xhr, settings ) {
     
    refreshMessageList();
       });
  • 24-02-2019, 14:59:11
    #8
    hrkn adlı üyeden alıntı: mesajı görüntüle
    Global olarak ajax etkinliğini izleyebilirsin. Örneğin aşağıdaki kod ile site içerisinde herhangi bir ajax isteği başarılı olduğunda veya diğer etkinliklerde istediğin kod bloğunu çalıştırabilirsin.



    /*
    .ajaxComplete()
    .ajaxError()
    .ajaxSend()
    .ajaxStart()
    .ajaxStop()
    .ajaxSuccess()
    */
    
    $( document ).ajaxComplete(function( event, xhr, settings ) {
      if ( settings.url === "ajax/test.html" ) {
           refreshMessageList();
          // burada gerekli kontrolleri sağlayabilirsin
          //xhr.responseText
      }
    });

        
    function getMessages()
    { $("form#message_form").submit(function(e)
    { e.preventDefault(); var formData = new FormData($(this)[0]);
    $("#msg_spin").addClass("fa-times fa-circle-o-notch fa-spin").show();
    if( oneMoreTime == 1 ) { oneMoreTime = 0;
    $.ajax({ url: "func.php?cr=getMessages", type: "POST", data: formData, dataType: "json", cache: false, contentType: false, enctype: "multipart/form-data", processData: false, success: function (reply)
    { if (reply.error) { $("#msg_spin").removeClass("fa-times fa-circle-o-notch fa-spin").addClass("fa-times").show();
    $(".g_messages").focus(); }
    else if (reply.success) { $("#msg_spin").removeClass("fa-times fa-circle-o-notch fa-spin").addClass("fa-check").show();
    $(".g_messages").val("").ajaxComplete() }
    oneMoreTime = 1; } }); } }); return false; }
    zahmet olmaz ise şuradan örnek verebilirmisin

    bu kod blogu ile verilerimi gönderiyorum

    bu kod blogu ile de yenılıyorum

        
    $(document).ready(function()
    { refreshOnline();
    function refreshOnline()
    { var m_id = $("#mes_id").val();
    $.ajax({ url:"forumHeadMessages.php?message_id="+m_id, method:"POST", data: {"type":"s_message"}, success:function(data)
    { $("#result_messages").html(data);
    setTimeout(function()
    { refreshOnline(); }, 750); } }); } });
  • 24-02-2019, 15:06:05
    #9
    pratikadres adlı üyeden alıntı: mesajı görüntüle
    function getMessages()
    { $("form#message_form").submit(function(e)
    { e.preventDefault(); var formData = new FormData($(this)[0]);
    $("#msg_spin").addClass("fa-times fa-circle-o-notch fa-spin").show();
    if( oneMoreTime == 1 ) { oneMoreTime = 0;
    $.ajax({ url: "func.php?cr=getMessages", type: "POST", data: formData, dataType: "json", cache: false, contentType: false, enctype: "multipart/form-data", processData: false, success: function (reply)
    { if (reply.error) { $("#msg_spin").removeClass("fa-times fa-circle-o-notch fa-spin").addClass("fa-times").show();
    $(".g_messages").focus(); }
    else if (reply.success) { $("#msg_spin").removeClass("fa-times fa-circle-o-notch fa-spin").addClass("fa-check").show();
    $(".g_messages").val("").ajaxComplete() }
    oneMoreTime = 1; } }); } }); return false; }

    zahmet olmaz ise şuradan örnek verebilirmisin

    bu kod blogu ile verilerimi gönderiyorum

    bu kod blogu ile de yenılıyorum


    $(document).ready(function()
    { refreshOnline();
    function refreshOnline()
    { var m_id = $("#mes_id").val();
    $.ajax({ url:"forumHeadMessages.php?message_id="+m_id, method:"POST", data: {"type":"s_message"}, success:function(data)
    { $("#result_messages").html(data);
    setTimeout(function()
    { refreshOnline(); }, 750); } }); } });
    $(function(){
    $( document ).ajaxSuccess(function( event, xhr, settings ) {
     var m_id = $("#mes_id").val(); 
     if(settings.url != "forumHeadMessages.php?message_id="+m_id){
    // buraya refresh online mı artık neyi çalıştıracaksan bu alana yazmalısın
    }
    
    });
    });