AJAXを介してレンダリングされたページのすべての要素を更新する適切な方法は何ですか?

StackOverflow https://stackoverflow.com/questions/2342930

  •  23-09-2019
  •  | 
  •  

質問

PHPによってレンダリングされている複雑なページがあり、Ajax Long Pollingを介してページのすべての要素を最新の状態に保ちたいと考えています。更新するために各要素を手動で指定することなく、これをサポートするインフラストラクチャを設計する一般的 /賢い方法はありますか?アイデアを探しているだけです。ありがとう!

役に立ちましたか?

解決

jQueryを使用して、サーバーに更新するためにjQueryセレクターのコンマ区切りリストを送信します。サーバーは、これらのセレクターを読み取り、HTMLを生成して、セレクターに一致する要素を埋めることにより、最終的に応答します。

$.get("/updater", { elementsToUpdate: "#someDiv,#someTable,#someOtherElement"}, function(json) {
      $.each(json, function(k, v) {

        // the key is the selector, the value is the 
        // HTML to set to that (or those) element(s):
        $(k).html(v);
      });    
}, "json"); // we are expecting the server to return JSON

サーバーは、JSONを次の構造でクライアントに送信することで応答します。

 {"#someDiv":"this is some HTML to fill up div with ID someDiv","#someOtherElement":"here is some more HTML","#someTable":"here is some more HTML"}

他のヒント

Ajaxを介して更新されるすべての要素に特別なクラスを追加すると、たとえば他の属性で追加のデータをエンコードすることもできます。

<a class="ajaxUpdate" data="{'a':'json or whatever', 'put whatever here':'ok'}">test</a>

その後、jQueryを使用すると、そのデータを簡単に引き出して評価し、ajaxで使用できます。

Webパーツページを使用してSharePoint Designerを通じてカスタマイズすることができますが、Design Managerを介したページの高度なカスタマイズは残念ながらSharePoint 2013 Foundationでは利用できません。

ページ要素をプライベートデータとして構造に保ち、それらを更新するパブリック要素を持っています

var page = (function(){
    var private_data = {
    //json
    };

    return {
        workOnData : function(){//process the data}

    }
})()

これは、ページデータを安全でスムーズに保つことができる良い方法です。

あなたの質問に従って、私はあなたが2つのクラスを作成したことを見ることができます、そして彼らはです

  1. version.class
  2. open.class

    あなたからどこから "TitleScreen"クラスを入手していますか?

    version.classのみのメインメソッドを持っています。 そのため、version.classのmain()メソッドはエントリポイントにのみ可能です。

    次のようにプログラムを実行できます。

    JavaバージョンTitleScreen

    titleScreenはこのプログラムの入力になることができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top