JQuery Ajax ile uyumsuz bir isteği gerçekleştirmek zaman, bazen tepki, 800 ms hızla döndürülür somtimes yavaş ve tepki 2.50s (avg) döndürülür, ve bazen kilitleniyor ve sadece yükleme görüntüleri gösterir. Çünkü benim PHP kodu veya jQuery Ajax kodunun bu kadar emin değilim. JQuery Ajax kullanarak bazı değerleri göndermek:
function get_detail_product(obj)
{
var id = obj.id ;
var $this = jQuery('#'+id);
var Thumb = jQuery('#Scroller div.Container') ;
jQuery.each(Thumb , function(){
jQuery(this).css('border' , '#ccc 2px solid');
});
$this.parent().css('border' , '#ff8500 2px solid') ;
var load_area = jQuery('.detail') ;
//ajax request
load_area.html("");
load_area.html('<div id="loading" style="margin-top:60px;margin-left:350px;"><img src="../images/loading.gif"><br>Loding ... </div>');
jQuery.ajax({
url: 'index.php?module=product&popup=on ',
type: 'POST',
data: 'pid=' + id ,
success: function(result) {
jQuery('#response').remove();
load_area.html(result);
jQuery('#loading').fadeOut(500, function() {
jQuery(this).remove();
});
}
});
}
ve PHP dosyası ben istenen verileri almak için aşağıdaki kodu var:
//ajax requests
if(isset($_POST['subcatid']) && is_numeric($_POST['subcatid']))
{
$subcatid = $_POST['subcatid'] ;
$products = $dbc->getAll("select * from xxproduct where xsubcatid='$subcatid'") ;
//send result
echo '<table cellpadding="0" cellspacing="0" border="0" id="ScrollerTable"><tr>';
foreach ($products as $p) : echo '<td><div style="border:#ccc 2px solid ; padding:0px;margin-top:20px ; margin-bottom:20px ; margin-left:8px ; margin-right:8px;" class="Container"><a href="javascript:void(0)" id="'.$p['xproductid'].'" onclick="get_detail_product(this)" ><img src="imgsize.phpw=100&h=100&img=../uploads/product/'.$p['xproductid'].'/'.$p['xproductid'].'__1.jpg" border="0"/></a><div style="background-color:#ccc ;text-align:center ; padding:5px; ">'.$p['xproductname'].'</div></div></td>';
endforeach ;
echo ' </tr></table>';
}
Eğer gecikmeye neden benim kodda herhangi bir hata bulabilirsiniz acaba; ayrıca ben veritabanı ile etkileşim için bir PEAR DB nesnesi kullanıyorum.
Ben bu sayfada benim soru başlığını yazdığınızda, öneri yaklaşık 500 ms döndürülür. Neden bu ajax etkileşimin çok hızlı ama benim değil mi?