2012-09-29 3 views
0

안녕하세요,이 샘플 코드를 임의의 따옴표를로드 할 수 있습니다.JQuery로드 함수가 첫 번째로드 후 걸리는 점점

PHP 코드 :

<?php 
    //Selecting Random quotes from database --randomquotes.php 
    require('dbconnection.php'); 
    // $temp=10; 
    $sql = "SELECT * FROM db.q order by rand() LIMIT 1"; 
    $res = mysql_query($sql,$con); 
    while ($res1=mysql_fetch_assoc($res)) 
    { 
    print "<em>".$res1['quote']."</em>"; 
    } 
?> 

HTML 코드 :

<div class="class_box_shadow_quote"> 
<?php 
    require('randomquotes.php'); 
?> 
</div> 

JQuery와 코드 :

이 코드는 처음으로 잘 작동하지만, 두 번째에 붙어지고
<script> 
    var $j = jQuery.noConflict(); 
    $j(document).ready(function(){ 
    setInterval(function() { 
     $j(".class_box_shadow_quote").load('randomquotes.php'); 
    }, 7000); 
    }); 
</script> 

견적을 변경하지 않습니다. 또한 항상 두 번째 따옴표가 항상 동일하게 표시됩니다. 무엇이 문제입니까? 도와주세요?

답변

2

출력이 jQuery에 의해 캐시되고 있다고 생각합니다. 캐싱을 사용하지 않도록 설정할 수 있습니다.

setInterval(function() { 
    $j.ajax({ 
     url: 'randomquotes.php', 
     cache: false, 
     success: function(data) { 
      $j(".class_box_shadow_quote").html(data); 
     } 
    }); 
}, 7000); 
+0

최고의 !!!!!! 감사! :) –

0

한번에과 같이, 브라우저 캐싱을 방지하기 위해 URL의 끝에 임의의 씨앗을 추가 :

$(".class_box_shadow_quote").load('randomquotes.php?s=' + (Math.Random() * 1000000)) 
+0

와우 이것은 나에게 새로운 것이지만 ... 이전 솔루션은 캐싱을 피하기 쉽습니다. –

+0

때로는 캐시 헤더 조작이 작동하지 않는 경우가 있습니다. 나는 여러 번 그 문제에 부딪쳤다. 그래도 점점 나아지고 있습니다. :) –

+1

사실'cache : false'는 똑같습니다. URL에 랜덤 라이저를 추가합니다. – techfoobar

관련 문제