2011-07-10 7 views
0

$.post jqueryの機能を使用して、divスクリプトを更新する必要があります。これは、PHPスクリプトのjsonデータで返されたコンテンツが変更された場合のみです。私は$.postのAJAXコールはキャッシュされないことを知っています。 $.post、または可能であれば$.postで可能でない場合は$.ajaxとお手伝いください。divをリフレッシュするJqueryのPOST

ありがとう

答えて

6

なぜコールの応答をキャッシュしないのですか?

var cacheData; 
$.post({..... 
     success: function(data){ 
        if (data !== cacheData){ 
        //data has changed (or it's the first call), save new cache data and update div 
        cacheData = data; 
        $('#yourdiv').html(data); 
        }else{ 
        //do nothing, data hasan't changed 

これは一例であり、あなたがあなたのニーズに合わせてそれを適応させる必要があります(とデータの構造が、返されたが)

+0

にそれを添付することができます –

0
var result; 
$.post({ 
    url: 'post.php' 
    data: {new:'data'} 
    success: function(r){ 
     if (result && result != r){ 
     //changed 
     } 

     result = r; 
    } 
}); 
0

あなたの質問は必ずしも明らかではないが、どのようにこのようなものについて...

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("#refresh").click(function(){ 
     info = ""; 
     $.getJSON('<URL TO JSON SOURCE>', function(data){ 
      if(info!=data){ 
      info = data; 
      $("#content").html(data); 
      } 
     }); 
     }); 
    }); 
    </script> 
    <div id="content"></div> 
    <input id="refresh" type="submit" value="Refresh" /> 

私はそこにそれを使用するようにあなたが.getJSON()使うべきだと思う、それはコンパクトだし、あなたが必要なすべての機能を提供しています。

0
var div = $('my_div_selector'); 
function refreshDiv(data){ 
    // refresh the div and populate it with some data passed as arg 
    div.data('content',data); 
    // do whatever you want here 
} 
function shouldRefreshDiv(callback){ 
    // determines if the data from the php script is modified 
    // and executes a callback function if it is changed 
    $.post('my_php_script',function(data){ 
     if(data != div.data('content')) 
      callback(data); 
    });  
} 

その後、パンチに私をビート、あなたは間隔でshouldRefreshDiv(refreshDiv)を呼び出すことができます。また、イベントハンドラ

関連する問題