1

最初に次の例を参照してください。どちらが優れていますか?

パフォーマンス、プログラミング、設計、負荷、ユーザーエクスペリエンス、メンテナンス、セキュリティなど、私が予期していなかった側面を比較してください。

これらの側面は、どちらが優れているかを判断するのに役立ちますか?

<script>
$(document).ready
(
    function()
    {
        var message={..something..};
        $.ajax
        (
            {
                url:'get_content.php',
                data:message,
                type:'post',
                cache:false,
                success:function(data)
                        {
                            foreach(data.array)
                            {
                                $('#content').append($('<tr><td>'+data.array[key]+'</td></tr>'));
                            }
                        },
                error:function(){alert('error');}
            }
        );
    }
);
</script>
<table id="content">
</table>

<table id="content">
<?php
query sql;
while(row=fetch result)
{
    echo '<tr><td>'+row[field]+'</td></tr>';
}
?>
</table>
4

2 に答える 2

5

あなたはリンゴとオレンジを比較しています。

  • PHP-サーバー側言語
  • AJAX-クライアント側言語(JavaScript)

AJAXは、ページ全体を更新せずに、クライアントに代わってサーバーからデータを取得する唯一の(合理的な)手段です。ただし、サーバー側でさまざまな言語を使用して、AJAXを続行するために必要なデータをレンダリングできます。(ASP、PHP、...)。

それはあなた次第であり、あなたのサイトの残りの部分が実際に何で開発されているかはあなた次第です。コンテンツを生成する絶対的な(失敗のない)方法が必要な場合は、PHPダンプが最善の方法です。表示されることが保証されており、クライアントのサポートによっては壊れません(おそらくNoScriptプラグインがありますか?)。

ただし、データが多い場合は、負荷を複数の呼び出しに分散して、クライアントがページの少なくとも半完全な部分を表示し、データが後で表示されるようにする方がよい場合があります。(これは一般的にFacebookの進め方です。最初の数分の1秒で一般的なレイアウトが表示され、フレーミングが完了すると残りのコンテンツが表示されます)。

ただし、注意すべき点の1つは、どちらかまたは両方の種類の決定ではないということです。PHPフォールバックでAJAXを使用できます。クライアントをテストし、情報に基づいた決定のためにその情報をサーバーに中継するためのコードを配置する必要があります。

于 2012-04-05T12:14:55.067 に答える
3

個人的にはPHPを使います。時間がかからないため、ユーザーは遅延に気付くことはありませんが、AJAXではまったく別のリクエストを行う必要があります。

AJAXは、ページがロードされた後にデータをフェッチするのに適しています。そもそもそこにあるはずのデータをフェッチするために使うべきではないと思います。

于 2012-04-05T12:14:15.187 に答える