-2

興味深い質問があったときに、サイトのバックエンドから情報を取得するために AJAX リクエストを作成するなど、多くのことを行ってきました。php で html スタイリングを行ってからクライアントに送信する方が良いですか、それともデータを json として送信してから javascript でスタイリングする方が良いですか?

この質問は漠然としたものなので、例を挙げます。

<?php

$data = array();
$data[0] = array("username" => "Supericy", "content" => "just a sample message 1");
$data[1] = array("username" => "Supericy", "content" => "just a sample message 2");
$data[2] = array("username" => "Supericy", "content" => "just a sample message 3");
// etc...


// now this is the choice:
if ($json)
{
    return json_encode($data);
}
else
{

    // or
    $returnString = "";
    for (...)
    {
        $returnString .= '<div class="username">' . $data[i]["username"] . '</div>';
        $returnString .= '<div class="content">' . $data[i]["content"] . '</div>';
    }

    return $returnString;
}

?>

そして、私のJavaScriptで:

// get the information as raw json
var data = ajax_request(json = true);

var author = document.createElement('div');
author.className = "author";
author.innerHTML = data[i]["username"];



var content = document.createElement('div');
content.className = "content";
content.innerHTML = data[i]["content"];

body.appendChild(author);
body.appendChild(content);

// -- OR --

// get the information as pre-formated html
var data = ajax_request(json = false);
body.innerHTML += data;
4

4 に答える 4

2

他のユーザーが述べているように、それは対象とするオーディエンスが誰であるかによって大きく異なります。スタートアップ コストを低く抑えようとしていて、一般的にケーブルや常時インターネット接続を使用しているユーザー向けに開発している場合は、ボートが浮かんでいることは何でも構いません。

ただし、アプリケーションを設計していて、比較的保守しやすいものにしたい場合は、おそらく JSON を検討する必要があります。JSON を使用する場合は、JSON オブジェクトのデコードを安全かつ簡単に処理できるように、jQuery などの JavaScript ライブラリを選択することもお勧めします。

実際、AJAX ページから HTML を返すときでも、まだ JSON オブジェクトでラップしています。その方法はもう少し標準化されているようで、以前の JavaScript コードを簡単に再利用できます。

以下にいくつかの基本的なトレードオフを示します。

PHP から直接 HTML を送信する

  • コード内に HTML コードが表示され、検証の問題を見つけやすくなります。
  • 維持しやすいかもしれません。(キーワード MAY。) 複雑な html を生成する場合は、PHP で構築する方が簡単かもしれません。

JSON を PHP に送信し、Javascript を HTML に変換する

  • ブラウザに送信されるデータが少なくなります。これは、接続が制限されていて、帯域幅の使用に対して料金を支払っているモバイル ユーザーにとって大きなプラスです。
  • 一般的に、保守性が高くなります。
  • サーバーではなくクライアント コンピューターが処理を実行できるようにします (サーバーの負荷を軽減します)。
  • 最近では、サーバーとの通信の標準形式のようです。Google Maps API でさえ JSON を使用して開発者と対話します。JSON を新しい XML と見なすこともできます。

ちなみに、JSON は Javascript Object Notation の略です。これは、javascript のオブジェクトの標準構文に従います。

例: var blah = {'変数名':'変数値'};

したがって、あなたへの私の答えは、何があっても JSON を使用することですが、送信するデータの量は、閲覧者が誰であるかによって決まります。

于 2012-04-27T02:24:42.780 に答える
1

非常に単純なサイト/例の場合、それは重要ではありません...大規模なプロジェクトの場合、私は常により移植性の高いjson応答を使用します。

jsonを使用すると、サーバー呼び出しとjsビューロジックの両方が再利用可能になります。

于 2012-04-27T01:56:26.153 に答える
0

JSONが私の好みです。JavaScriptでHTMLを適切に操作する方がはるかに簡単であり、PHPjson_encodeはこれまでになく便利です。さらに、それはすてきでクリーンなMVCの感触を与えます。

于 2012-04-27T01:58:31.150 に答える
-1

ブラウザーの互換性 (つまり、interent エクスプローラー) について心配する必要がないため、バックエンドのスタイリングが好きです。

于 2012-04-27T01:49:11.933 に答える