1

ajax-loaded.html が生成されるタイミング (1 秒または 10 秒) が正確にわからないので、setInterval を使用して常に example_ajax_request() を呼び出します。そうすれば、利用可能になると(1秒以内に)表示されます。

質問- myStopFunction() を呼び出して、example_ajax_request() が実際に ajax-loaded.html をロードしたときに setInterval が停止するようにするにはどうすればよいですか?

<html>
<head>
</head>
<body>
<div id="example-placeholder">
<p>Placeholding text</p>
</div>

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript"></script>
  <script>
    var myVar=setInterval(function(){example_ajax_request()},1000);
    function example_ajax_request() {
        $('#example-placeholder').html('<p><img src="ajax-loader.gif"  /></p>');
        $('#example-placeholder').load("ajax-loaded.html");
    }

    function myStopFunction(){
        clearInterval(myVar);
    }
  </script>

</body>
</html>
4

1 に答える 1

2

間隔をクリアするには、おそらく load コールバックを使用する必要があります。

$('#example-placeholder').load("ajax-loaded.html", function () {
   myStopFunction();
});

毎秒ポーリングするのは良くないので、errorコールバックを使用して retryCount で再試行する必要があります。

于 2013-01-23T22:43:41.107 に答える