1

PHP バックエンド経由でデータベースから HTML コンテンツをロードする小さなアプリケーションがあります。現時点では、jQuery は PHP ファイルからメイン ページの DIV に html データをロードしますsetInterval() $('#div').html(html);。すべてのフォーマットは CSS で行われ、データ構造は php ファイルからエコーアウトされます。また、これは小さなチャット アプリであるため、jQuery を使用して PHP 経由でデータベースにデータを投稿します。.each()私の質問は、jsonを使用してjQueryメソッドを介して各要素をその構造に解析するか、現在の.html()メソッドを使用してデータをロードし、PHPを介して完全なデータ構造をエコーアウトするかのいずれかで、このデータをプルするためのより高速またはより効率的な方法です。? 御時間ありがとうございます。

4

1 に答える 1

2

私は個人的に構造をphpのJSONオブジェクトにエコーします。次に、javascript でそれを解析し、.html() を介してコンテナに配置します。

これは、php にクリーンで編集可能なコードがあり、javascript を使用して必要な場所に配置するだけなので、代替案よりもはるかに優れていると思います。

私のphpで:

    $response['error'] = false; // if you get an error set this to true
    $response['html'] = ''; // set this wherever you like.
    alternately if you needed to break it up
    $response['html_A'] = '';
    $response['html_B'] = '';


>     in the end


    echo json_encode($response);

JavaScriptで

$.post(function(r){
  response = JSON.parse(r);
   if (response.error !== true){
     $('#someDiv').html(response.html);
   }
   else {
     alert (response.errorMessage);
   }
}

$.each ループを実行するのは面倒に思えます。特に、php によって生成された出力の一部を追加/変更することにした場合。

于 2013-03-19T16:04:57.100 に答える