はじめに
Sencha Touch 2 の開発モデルの特性により、そのネイティブなデータ対話動作はほぼ AJAX を通じてのみ実現できます。
もちろん、強力な PhoneGap プラグインを呼び出してパッケージ化することで、100% ソケット通信とローカル データベース機能を実現できます。また、HTML5 WebSocket を介してサーバーとの通信やサーバー プッシュ機能を実現することもできます。ただし、どちらの方法にも制限があり、前者は PhoneGap のサポートを必要とし、後者はユーザー デバイスが WebSocket をサポートする必要があるため、どちらも ST2 の唯一のネイティブ ソリューションとみなされません。
AJAX に関して言えば、必然的に 2 つの疑問に直面することになります。1 つ目は、AJAX がデータの交換にどのような形式を使用するかということです。 2つ目は、クロスドメインのニーズをどのように解決するかということです。これら 2 つの問題には現在、さまざまな解決策があります。たとえば、データはカスタム文字列または XML で記述でき、クロスドメインの問題はサーバー側プロキシを通じて解決できます。
しかし、これまでのところ、最も推奨または推奨されるソリューションは、JSON を使用してデータを送信し、JSONP に依存してドメイン間を移動することです。それがこの記事の内容です。
JSON (JavaScript Object Notation) と JSONP (JSON with Padding) の間には 1 文字の違いしかありませんが、実際にはまったく同じものではありません。JSON はデータ交換形式であり、JSONP は依存関係です。開発者の創意工夫によって作成された非公式のクロスドメイン データ交換プロトコル。最近人気のスパイ映画に例えてみましょう。JSON は地下組織が情報を記述して交換するために使用する「コード」であり、JSONP はコードで記述された情報を仲間に送信するために使用される接続方法です。それを見ましたか? 1 つは情報の形式を記述することであり、もう 1 つは情報を送信するために双方が合意した方法です。
私たちはただ雑談しているだけなので、独断的な方法でそれを伝えるのではなく、開発者がそれを使用することを選択すべきかどうか、またどのように使用するかを理解できるようにすることに重点を置きます。
JSON とは
前に簡単に説明したように、JSON はテキストベースのデータ交換方法、またはデータ記述形式です。最初にそれを選択する必要があります。それが持つ利点に。
JSON の利点:
1. プレーンテキストに基づいて、クロスプラットフォーム送信が非常に簡単です。
2. Javascript ネイティブ。サポート、背景 ほぼすべての言語がサポートされています。
3. 占有文字数が非常に少ない軽量のデータ形式で、特にインターネット送信に適しています。 XML 一目瞭然ですが、適切なインデントの後でも識別は簡単です。もちろん、データ構造を知っていることが前提です。 >
もちろん、JSON の欠点もありますが、著者の意見では、それは本当に重要ではないので、個別に説明しません。
JSON 形式またはルール:
JSON は、XML で実行できることはすべて実行できるため、クロスプラットフォームです。 2 つは互いに完全に区別できません。
1. JSON には、中括弧 {} と角括弧 [] の 2 つのデータ型記述子のみがあり、残りの英語のコロンはマッピング文字、英語のカンマは区切り文字、英語の二重引用符 "" は区切り文字です。
2. 中括弧 {} は、一連の「さまざまなタイプの順序付けされていないキーと値のペア セット」を記述するために使用され (各キーと値のペアは OOP 属性の説明として理解できます)、角括弧 [ ] は、「同じタイプの順序付けられたデータ コレクション」のセット (OOP 配列に対応する可能性があります) を記述するために使用されます。
3. 上記 2 つのセットに複数のサブ項目がある場合は、カンマで区切る必要があります。
4. キーと値のペアは英語のコロン: で区切られており、さまざまな言語の分析を容易にするために、キー名を英語の二重引用符 "" で追加することをお勧めします。
5. JSON 内で一般的に使用されるデータ型は、文字列、数値、ブール値、日付、および null です。文字列は二重引用符で囲む必要があり、残りは使用されません。ここでは詳細には立ち入りませんが、クライアントに日付による並べ替えの機能要件がない場合は、日付と時刻を文字列として直接渡すだけで、多くの手間が省けることをお勧めします。
JSON の例:
コードをコピー