こんにちは、私のコードは次のとおりです。
var ajax={
chiamata:function(target,url,opzioni){
if (!tools.array_key_exists('caricamento',opzioni)){
opzioni['caricamento']=1;
}
var dati=url.split('?');
$.ajax({
type: opzioni['type'],
url: url,
contentType:"application/x-www-form-urlencoded; charset=UTF-8",
data: dati[1],
dataType: "html",
success: function(msg){
if (opzioni['caricamento']!=0){
ajax.printLoading();
}
$(target).html(msg);
},
error: function(){
alert("Chiamata fallita!");
}
})
},
printLoading:function(){
var body="#colonnaDX";
$(body).ajaxStart(function(){
$(body).append('<div id="loading"><img src="graphic/IMAGE/spinner.gif"/>Loading...</div>');
})
.ajaxStop(function(){
$('#loading').remove();
});
}
},
//Recursive function
var object={
checkAzione:function(target,url,opzioni,interval){
if (!interval)
interval=60000;
ajax.chiamata(target,url,opzioni);
setTimeout(function() {
this.checkAzione(target,url,opzioni,interval);
}, interval);
}
}
$(document).ready(function(){
object.checkAzione(
'#colonnaDX',
'someactions.php',{
'caricamento':0
},
10000
);
})
ドキュメントの準備ができると、関数「checkAzione」が開始され、DB 呼び出しなどの処理が行われます。この種の ajax 呼び出しでは、スピナーのような視覚的な読み込みは必要ありません。などなので、配列「opzioni」にフラグ「caricamento」を設定します:0 (「loading」:0 と同じ) ajax オブジェクトをチェックして、「caricamento」を使用する ajax 呼び出しを行うまで機能します。 :1、その瞬間から、再帰関数で ajax を呼び出すたびに「printLoading」が行われます...ヒントはありますか????