PHP Classes - PHP Classes blog: Responsive AJAX applications with COMET
http://www.phpclasses.org/blog/post/58-Responsive-AJAX-applications-with-COMET.html

**インチキ訳 [#f62abdaa]

 With iframes, it becomes easy to return multiple responses to a 
 single AJAX request. But you may ask, how does it work in practice?
iframeを使えば、1個のAJAXリクエストから複数のレスポンスを返すことができるらしい。

 I have implemented a solution based on this forms generation and 
 validation class:
 http://www.phpclasses.org/formsgeneration
Manuel Lemosさん作のiframeを使ったAJAX用PHPライブラリでこれを実現したらしい。

#blikimore
 It comes with a custom input plug-in class that can submit forms using 
 an iframe based AJAX request. This plug-in generates an iframe and special 
 Javascript code to submit the current form without causing the current page 
 to reload.
このクラスによって生成されたFORMタグからsubmitすると、リロードせずに、動的にiframeとjavascript codeを生成し、そのiframe内でsubmitするらしい。

 The server AJAX response is loaded in the iframe. The iframe has width 
 and  height set to zero . This way, the users never see whatever is loaded 
 in the iframe.
サーバーのAJAXレスポンスは、iframeの中に読み込まる。iframeの幅と高さは0なので、エンドユーザーには見えない。と言うことらしい。

 That class output an empty HTML page with some Javascript code blocks to
 execute many possible types of actions like updating specific parts of the
 page, setting Javascript variables, redirecting the browser to another page,
 etc..
-ページ内の特定の部分をアップデートする
-javascriptの変数をセットする
-別のページにリダイレクトさせる

などなどのアクションを行わせるjavascriptがiframeに呼び込まれ実行されるらしい。
なるほど、そうやってXmlHttpRequestがなくてもAjaxを可能にするのね。

 The AJAX class calls the PHP flush() function to make those Javascript code
 blocks be sent to the browser immediately.
サーバー側でflush()を実行すると、即座にiframe内に反映されるらしい。

 This way, it can update the browser page while the AJAX request action is
 still running on the server side.
この方法では、AJAXリクエストのアクションがサーバーサイドで有効な状態のまま、クライアントの状態を変更できる、と言うことですな。


ナルホドォ・・・
PHP側のプロセスが死なずに生き続ければ、確かにできるかも ^^;
ずーーっと生き続ける必要がある場合でなければ使ってみる価値有りかもですね。

#blikifooter(志田)


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

アークウェブのサービスやソリューションはこちら