jQuery Ajax를 사용하여 비동기 요청을 수행하는 경우 응답이 800 밀리 초, 경우에 따라 느려지고 응답이 2.50 초 (평균)로 반환되는 경우가 있습니다. , 그리고 그냥로드 이미지를 보여줍니다. 내 PHP 코드 또는 jQuery Ajax 코드 때문인지 확실하지 않습니다. 내가 jQuery를 Ajax를 사용하여 일부 값을 보내 jQuery Ajax 요청의 가변 응답 속도
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();
});
}
});
}
과 PHP 파일에 I가 요청 된 데이터를 검색하는 코드를 다음 한
://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>';
}
당신이 내 코드에서 어떤 실수를 찾을 수 있는지 궁금해을 그 지연을 야기한다. 또한 PEAR DB 객체를 사용하여 데이터베이스와 상호 작용합니다.
이 페이지에서 내 질문 제목을 입력하면 약 500ms 후에 제안 사항이 반환됩니다. 왜이 아약스 상호 작용이 그렇게 빠르지 만 내 것이 아닌가?
네, 덕분에 해결책을 찾겠습니다. great recommendation;) seprate ajax가 php 파일을 호출하므로 더 나은 결과를 얻습니다. – mehdi