2017-11-06 7 views
0

my ajax関数はsetInterval()によって自動的に実行されます。 ここで私はキャッシュを使用しました:falseので、タイムスタンプが送信されます。 phpファイルでは、そのタイムスタンプの期限を設定したいと思います。既存のタイムスタンプで受信した要求が値を返さない場合。特定の時間間隔の後にPHPでajaxリクエストリンクの有効期限を設定するにはどうすればよいですか?

$(document).ready(function(){ 
 
    myVar = setInterval("asdFunc()", 1000); 
 
}); 
 

 
function asdFunc(){ 
 
\t var date = new Date().getTime(); 
 
\t $.ajax({ 
 
\t \t type:"GET", 
 
\t \t cache:false, 
 
\t \t url:"rest.php", 
 
\t \t data:{lest:"data"}, 
 
\t \t success:function(daa){ 
 
\t \t \t \t $('.response').html(daa); 
 
\t \t \t } 
 
\t }) 
 
}
<html> 
 
<div class="response"> 
 
\t here will, 
 
</div> 
 
</html> 
 
<script src="http://localhost/polt_s/assets/plugins/jquery/jquery-1.9.1.min.js"></script> 
 
<script type="text/javascript">

+1

クライアントはJavaScriptを変えることができますので、あなたはクライアントの時間に依存しないでください。あなたのAJAXをサーバ上で時間をかけて動作させる。 – PHPglue

+0

はので、私はそれを達成することができますどのように、私は、リクエストごとに固有のURLが必要ですが、そのユニークなURLは、彼らがユニークなので –

+0

は、セッションを使用してください。..いくつかの時間後に期限切れにする必要があります。 AJAXリクエストを作成したまま、サーバーの時刻をテストしてください。 – PHPglue

答えて

0
$(document).ready(function(){ 

    setTimeout(asdFunc(), 1000); //check here in your code 

    function asdFunc(){ 

     var date = new Date().getTime(); 

     $.ajax({ 

     type:"GET", 

     cache:true, //cache = true, this will improve page performance 

     url:"rest.php", 

     data: {lest:"data"}, 

     success:function(daa){ 

      $('.response').html(daa); 
     } 
    }) 
    } 

}); 
+0

答えをお寄せいただきありがとうございますが、キャッシュを設定してください:本当にPHPでリンクを期限切れにすることはできますか? –

+0

setTimeoutを使用して、セラチン時間後にリンクを終了します。 –

+0

キャッシュ(デフォルト:真、dataTypeと「スクリプト」と「JSONP」の偽) 型:Boolean falseに設定した場合、それがブラウザによってキャッシュされないように要求されたページを強制します。注:キャッシュをfalseに設定すると、HEADおよびGET要求でのみ正しく動作します。これは、GETパラメータに "_ = {timestamp}"を追加することによって機能します。このパラメータは、GETによって既にリクエストされているURLにPOSTが行われたIE8以外の他のタイプのリクエストには必要ありません。 –

関連する問題