2016-06-14 2 views
-4

Я хотел бы сравнить данные, чтобы определить, нужно ли перезагружать div.Сравните данные, возвращенные с AJAX с данными div

// <![CDATA[ 
$(function() { 

    function reload (elem, interval) { 
     var $elem = $(elem); 
     var $original = $elem.html(); 


     $.ajax({ 
      cache : false, 
      url : '/inbox-header.php', 
      type : 'get', 
      success : function (data) { 

       var result = $.trim(data); 
       var resu = $.trim($original); 


       console.log(result); 

       if (result == resu) { 

        alert('a'); 

        setTimeout(function() { 
         reload(elem, interval) 
        }, interval); 
        return; 
       } 

       $elem.html(data); 

       setTimeout(function() { 
        reload(elem, interval) 
       }, interval); 
      } 
     }); 
    } 

    reload('#inboxheader', 500); 
}); 
// ]]> 

Когда я показываю вывод в консоли это выглядит так же, но начеку никогда не показывает, поэтому ее всегда ложно.

UPDATE:

Выход из этих переменных можно найти здесь, не в силах разместить их здесь ..

http://pastebin.com/abfCk7pH

+0

Используйте 'console.log' =>' console.log ("result =" + $ .trim (data) + "resu =" + $ .trim ($ original)) 'и посмотреть, что вы видите? –

+0

Используя инструменты разработчика (как правило, F12 во многих браузерах), поставьте здесь точку останова -> 'if (result == resu)' и наведите курсор, чтобы узнать, что вы сравниваете. Также посмотрите http://stackoverflow.com/questions/359494/does-it-matter-which-equals-operator-vs-i-use-in-javascript-comparisons – Mark

+0

Также укажите свой HTML-код в своем вопросе, поскольку которые могли бы дать некоторое понимание для ответа на этот вопрос. –

ответ

0

Я не знаю почему, но функция обрезки не делать свою работу.

это работает:

$(function() { 
function reload(elem, interval) { 
    var $elem = $(elem); 
    var $original = $elem.html(); 
    $.ajax({ 
     cache: false, 
     url: '/inbox-header.php', 
     type: 'get', 
     success: function(data) { 
      var opgehaaldedata = data.replace(
       /(\r\n|\n|\r)/gm, ""); 
      var orgineledata = $original.replace(
       /(\r\n|\n|\r)/gm, ""); 
      if (opgehaaldedata == orgineledata) { 
       //alert('a'); 
       setTimeout(function() { 
        reload(elem, interval) 
       }, interval); 
       return; 
      } else { 
       $elem.html(opgehaaldedata); 
       setTimeout(function() { 
        reload(elem, interval) 
       }, interval); 
       return; 
      } 
     } 
    }); 
} 
reload('#inboxheader', 500); 

});

Смежные вопросы