0

データベースから大量のデータを非常に頻繁に (少なくとも 3 秒ごとに) 取得する動的 Web ページを作成しています。

XAMPP を使用して、Web ページとデータベースをローカルでテストしました。それは完全に機能します。ただし、すべてを 000webhost (私の無料アカウント) にアップロードすると、非常に遅くなります。データを取得するときに、Web ページがフリーズします (ページをスクロールできず、何もせずにデータが転送されるのを待つだけです)。

データベースからデータを読み取るために、いくつかの ajax コマンドを呼び出す setTimeout 関数を使用しました。すでにデータ容量を最適化しましたが、ページはまだフリーズしています。また、ほとんどの ajax コマンドを無効にしようとしましたが、1 つだけ残しました。読み込み中、ページは瞬く間にフリーズしますが、とにかくフリーズします...

ほとんどの ajax コマンドは以下のようなもので、データベースからデータを取得し、Web ページの関連フィールドを更新するだけです。テーブルの行全体が必要なため、一部の ajax コマンドは $.parseJSON() を使用します。

$.ajax({
            type: "GET",
            url: "get_balance.php",     
            data: {wherematch: localStorage.login_user},        
            dataType: "html",   //expect html to be returned    
            async:false,            
            success: function(response){

                document.getElementById('balance').innerHTML = response;


            }
        });

この問題を解決する方法を提案できる人はいますか? お金を払ってより良いアカウントを取得する必要がありますか?

ありがとう。

4

1 に答える 1

0

ajax を 3 秒ごとに更新するには、javascript と ajax を次のようにする必要があります。

function get_data(){
$.ajax({
            type: "GET",
            url: "get_balance.php",     
            data: {wherematch: localStorage.login_user},        
            dataType: "html",   //expect html to be returned            
            success: function(response){
                document.getElementById('balance').innerHTML = response;
                setTimeout(get_data(),3000);
            }
        });
}
get_data();

setTimeout()関数を ajax 内に配置します。asyncとして設定していないため、フリーズすることはありませんfalse

于 2013-10-16T01:39:55.483 に答える