$.post
jqueryの機能を使用して、divスクリプトを更新する必要があります。これは、PHPスクリプトのjsonデータで返されたコンテンツが変更された場合のみです。私は$.post
のAJAXコールはキャッシュされないことを知っています。 $.post
、または可能であれば$.post
で可能でない場合は$.ajax
とお手伝いください。divをリフレッシュするJqueryのPOST
ありがとう
$.post
jqueryの機能を使用して、divスクリプトを更新する必要があります。これは、PHPスクリプトのjsonデータで返されたコンテンツが変更された場合のみです。私は$.post
のAJAXコールはキャッシュされないことを知っています。 $.post
、または可能であれば$.post
で可能でない場合は$.ajax
とお手伝いください。divをリフレッシュするJqueryのPOST
ありがとう
なぜコールの応答をキャッシュしないのですか?
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
これは一例であり、あなたがあなたのニーズに合わせてそれを適応させる必要があります(とデータの構造が、返されたが)
var result;
$.post({
url: 'post.php'
data: {new:'data'}
success: function(r){
if (result && result != r){
//changed
}
result = r;
}
});
あなたの質問は必ずしも明らかではないが、どのようにこのようなものについて...
<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()
使うべきだと思う、それはコンパクトだし、あなたが必要なすべての機能を提供しています。
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)
を呼び出すことができます。また、イベントハンドラ
にそれを添付することができます –