2016-06-13 17 views
2

は、私はこのようなテーブルを持っている:ページの読み込みが完了したらクエリを実行するには?

// last_seen 
+----+---------+--------------+ 
| id | id_user |  time  | 
+----+---------+--------------+ 
| 1 | 545  | 1339412843 | 
| 2 | 653  | 1339422601 | 
| 3 | 813  | 1339412612 | 
| 4 | 1030 | 1339717631 | 
+----+---------+--------------+ 

すべてのユーザーは、上記の表に行があります。その行には、各ユーザーの最後に見た時刻を宣言するunix_timeが含まれています。現在、私はindex.phpにすべての最初の上にスクリプトを実行

// user is logged 
if(isset($_SESSION["LoginValidation"]) && $_SESSION["LoginValidation"] == 1) { 

    // it is ajax request 
    if(!empty($_SERVER["HTTP_X_REQUESTED_WITH"]) && 
     strtolower($_SERVER["HTTP_X_REQUESTED_WITH"]) === "xmlhttprequest") { 

     $db 
     ->prepare("UPDATE last_seen SET time = ? WHERE id_user = ?") 
     ->execute(array(time(), $_SESSION['id'])); 

    } -- ajax 
} -- logged 

また、私は最後にすべての要求ごと、ユーザーごとに見て更新する(update_last_seen.php命名)このPHPスクリプトを持っています。私は各ページの更新の前にlast_seenテーブルを更新することを意味します。だから、リクエストは更新によって遅くなる。

これで、ページの読み込みが完了したら、AJAXプッシュリクエストを作成しました。ページを検出するJSイベントが完全にロードされていますか?

答えて

-2

バニラJSイベントDOMContentLoadedを使用して、ファイルにajax呼び出しを行うことができます。あなたはバニラJSイベントDOMContentLoadedを使用して、ファイルへのAJAX呼び出しを行うことができます

$(document).ready(function() { 
    //put your code here 
}); 
+0

pageload後のコードの実行あなたは、このブロック内のコードを置けば... – Kuldeep

+0

あなたは歓迎されている@Stackあなたは歓迎:) – Kuldeep

2


入れのAjax機能。

それとも、私の知る限り、あなただけのDOMContentLoadedを呼び出す必要がバニラJSで知っているようにjQueryの.ready$.ajax

$(document).ready(function() { 

    $.ajax({ 
     url: '/last_seen.php', 
     type: 'POST', 
     dataType: "json", 
     data: { id: '3' } 
    }).done(function(data){ 

    }); 

}); 
+1

ある@Stack :) – aifrim

0

を使用することができます。

document.addEventListener("DOMContentLoaded", function(event) { 
    //insert code here 
}); 
関連する問題