지연 및 스크립트 실행에 문제가 있습니다.Ajax on interval
$(function(){
$("#results").html("Loading work order queue...");
setInterval("showWorkOrders();", 15000)
});
function showWorkOrders()
{
$.ajax({
url: '/ajax/job_queue_ajax.php',
type: 'POST',
cache: false,
data: 'update=true',
success: function(data)
{
$("#results").html(data);
$('span#ref_msg').html('');
},
error: function()
{
a = new customModal('ajax');
$("#results").html("<font class='msgDivError'>"+a.ajaxError+"</font>");
$('span#ref_msg').html('');
}
});
}
내 백엔드 PHP (단지 예시) :
$SQL = MySQL_query("SELECT * FROM table")
while($data = MySQL_fetch_array($SQL))
{
//// OUTPUTS A TABLE WITH INFORMATION
}
지금,이 모든 일이 지연의 많은하지만 실행 (매우 오래 걸립니다 나는 다음과 같은 코드가
로드하는 데 시간이 너무 오래 걸리기 때문에 스크립트 오류가 발생하는 경우가 있습니다. 새로 고침 간격을 늘리면 상황이 좋아지기 시작합니다 (지연이 있음). 실행 오류가 발생하지 않습니다. 내가 필요한 것에 대해 짧은 간격을 가질 필요가 있지만 효율적인 방법을 생각할 수는 없습니다. 이것을 개선하는 방법에 대한 제안?
는 또한, 재교육이있는 페이지가되는 잠시 후, 브라우저는 ...
출력을 PHP 페이지의 변수에 저장하고 페이지의 맨 아래에 한 번만 출력합니다. 또한 새로운 코드 http://bit.ly/phpmsql에서 mysql_ * 함수를 사용하지 마십시오. 더 이상 유지 관리되지 않으며 공식적으로 https://wiki.php.net/rfc/mysql_deprecation 대신 사용되지 않습니다. – Revent
그래서 전반적인 실행 시간이 지연되는 것을보기 위해 디버깅을 시작 했습니까? DB 쿼리에 있습니까? 그것은 PHP에서 출력을 생성합니까? 출력을 다운로드하고 있습니까? 얼마나 많은 데이터를 실제로 전송하고 있습니까?> –
일부 디버깅을 수행 한 결과 데이터의 0.82KB를로드하는 데 32 초가 걸립니다 ... – Dimitri