ホームページ  >  記事  >  php教程  >  Xajax ハンドブック (初版)

Xajax ハンドブック (初版)

WBOY
WBOYオリジナル
2016-06-21 09:07:211046ブラウズ

アヤックス

原文:http://xajax.sourceforge.net/
英語原文:Copyright © 2005 J. Max Wilson
中国語簡体訳:HonestQiao (Qiao Chu)/2005-12-7 17:23/(初版) )
xajax とは何ですか?
xajax はどのように機能しますか?
他の PHP Ajax ライブラリの代わりに xajax を使用する必要があるのはなぜですか?
コンテンツを非同期的に更新するにはどうすればよいですか?
フォーム データを非同期的に処理する方法は?
xajax にカスタム機能を追加する方法
プライベート製品または有料製品で xajax を使用できますか?
xajax はどのように機能しますか?
PHP の別の Ajax ライブラリの代わりに xajax を使用する必要があるのはなぜですか? PHP スクリプトで xajax を使用するにはどうすればよいですか?
コンテンツを非同期的に更新するにはどうすればよいですか?
独自の製品で xajax を使用して料金を請求するにはどうすればよいですか?
どうすればよいですか? xajax は xajax ですか?
Xajax は、HTML、CSS、JavaScript、PHP を組み合わせて強力な WEB ベースの AJAX アプリケーション ソフトウェアを簡単に開発できるオープン ソースの PHP クラス ライブラリです。xajax を使用して開発されたアプリケーション ソフトウェアは、ページをリロードする必要がありません。サーバー側の PHP 関数を非同期に呼び出し、コンテンツを更新できます。
xajax とは?
xajax は、HTML、CSS、JavaScript、および PHP を使用して強力な Web ベースの Ajax アプリケーションを簡単に作成できるオープン ソースの PHP クラス ライブラリです。 xajax で開発されたアプリケーションは、ページを再ロードせずにサーバー側の PHP 関数を非同期的に呼び出してコンテンツを更新できます

xajax はどのように機能しますか?
アプリケーション ソフトウェアは PHP 関数を非同期的に呼び出す必要があり、xajax の PHP オブジェクトは対応するパッケージを生成しています。 JavaScript 関数。呼び出されると、カプセル化された関数は JavaScript の XMLHttpRequest オブジェクトを使用してサーバーと非同期に通信し、呼び出しが完了すると、PHP 関数は xajax から xajax XML 応答を返し、それを に渡します。 xajax PHP オブジェクトは、アプリケーションから非同期に呼び出すことができるようにする PHP 関数の JavaScript ラッパー関数を生成します。呼び出されると、これらのラッパー関数は JavaScript の XMLHttpRequest オブジェクトを使用して、サーバー上の xajax オブジェクトと非同期に通信します。完了すると、xajax XML 応答が PHP 関数から返され、xajax はアプリケーションに返します。XML 応答には、xajax の JavaScript メッセージ ポンプによって解析され、アプリケーションのコンテンツを更新するために使用される命令とデータが含まれています。
他の PHP の ajax ライブラリの代わりに xajax を使用する必要があるのはなぜですか?
プロジェクトのニーズに最も適したライブラリを選択する必要があります。
xajax には、ajax を特徴的かつ強力にする次の機能が用意されています。 PHP 用の Ajax ライブラリ?
プロジェクトのニーズに最も適したライブラリを選択する必要があります。
xajax は、以下の機能を提供しており、これらを組み合わせることでユニークで強力なものになります:
Xajax の特別な XML 応答/JavaScript メッセージ分析システムがそれを支援します。 , 自動処理関数 返されたデータは、PHP 関数によって返された命令に従って内容やステータスを更新します。xajax が処理するため、JavaScript コールバック処理関数
xajax 独自の XML レスポンス/JavaScript メッセージポンプを記述する必要はありません。システムは関数から返されたデータを自動的に処理し、PHP 関数から返された命令に従ってコンテンツや状態を更新します。そのため、JavaScript コールバック ハンドラー関数を作成する必要はありません。
Xajax オブジェクト コードとデータを厳密に混合し、xajax コードを他のコードから分離するためのアイデア。xajax はオブジェクトで構築されているため、xajaxResponse クラスを拡張し、addScript メソッドを使用して独自のカスタム機能を xajax に追加できます。コードとデータの間の緊密な関係を維持し、xajax コードを他のコードから分離するためのオブジェクト指向。xajax はオブジェクト指向であるため、xajaxResponse クラスを拡張し、addScript() メソッドを使用することで、独自のカスタム機能を xajax に追加できます。
xajax は Firefox、Mozilla、おそらく他の Mozilla ベースのブラウザ、Internet Explorer、Safari で動作します
更新要素を除きます。要素の値と innerHTML、xajax を使用して、スタイル、CSS クラス、チェックボックスとラジオ ボタンの選択、またはその他のほぼすべての要素属性を更新できます。xajax は、JavaScript から PHP に渡される xajax 関数のパラメーターとして、1 次元または多次元の配列、連想配列 (ハッシュ配列) の使用をサポートします。逆に、JavaScript オブジェクトを xajax 関数に渡すと、PHP 関数もサポートされます。記述的なオブジェクト属性を受け入れます 連想配列 (ハッシュ配列)
xajax は、JavaScript から xajax 関数へのパラメーターとして単次元および多次元の配列と連想配列を渡すことをサポートします。関数はオブジェクトのプロパティを表す連想配列を受け取ります。
xajax は、xajax.getFormValues() JavaScript メソッドを使用して、フォーム内の値を表す配列を簡単に送信して渡すことができます。パラメータとして xajax に非同期処理関数:
xajax_processForm(xajax.getFormValues('formId');
。「checkbox[][]」または「によって生成された多次元配列または連想配列などの複雑な入力要素名を処理できます。」 name[first]" (ha 配列) は、PHP の $_GET 配列を使用してフォームを送信するのと同じように、簡単な非同期フォーム処理を提供します。xajax.getFormValues() JavaScript メソッドを使用することで、値を表す配列を簡単に送信できます。フォーム内で xajax 非同期関数へのパラメーターとして使用します:
xajax_processForm(xajax.getFormValues('formId');
。「checkbox[][]」や「name[first]」のような複雑な入力名でも動作します。フォームを送信して PHP $_GET 配列を使用したかのように、多次元の連想配列を生成します
xajax を使用すると、アプリケーションで実行するリクエストへの応答として追加の JavaScript を動的に送信でき、これは動的に更新するのと同じくらい便利です要素の属性
xajax を使用すると、リクエストに応じて実行される追加の JavaScript をアプリケーションに動的に送信したり、要素の属性を動的に更新したりできます
Xajax は、PHP 関数によって返されたデータを要素の属性と自動的に比較します。新しい場合のみ、データは既存のプロパティを変更することができ、これにより、プログラムがコンテンツ内の現在のコンテンツと同じまたは異なるコンテンツを更新するときに発生する明白なちらつきがなくなります。
xajax は、PHP 関数から返されたデータと、変更対象としてマークした要素の属性に既に存在するデータを自動的に比較します。属性は、実際に既存のデータを変更する場合にのみ、新しいデータで更新されます。これにより、既存のコンテンツと異なる場合もあれば異なる場合もあるデータを使用してコンテンツを定期的に更新するアプリケーションでよく見られるちらつきが解消されます。
xajax を通じて単に登録された各関数は、異なるリクエスト メソッドを使用できます。明示的に設定しない限り、デフォルトで POST メソッドを使用する xajax を通じてアクセスできるように登録された各関数は、異なるリクエスト タイプを持つことができます。GET が明示的に設定されていない限り、すべての関数はデフォルトで POST を使用します。これは、GET リクエストをいつ使用するかを慎重に検討するためです。が指定されている場合、xajax はスクリプトの URI を自動的に決定しようとします。Xajax の自動決定アルゴリズムは、ほとんどの HTTPS または HTTP の不明なポートがサーバー上で正常に動作することを確認します。 xajax 自動検出アルゴリズムは、ほとんどのサーバーで http:// だけでなく安全な https:// プロトコルでも動作し、
Xajax は UTF8 を使用して、スクリプトの URL を自動検出しようとします。すべてのリクエストとレスポンスをエンコードして、ほとんどの文字と言語をサポートするようにします。Xajax は、スペイン語、ロシア語、アラビア語、ヘブライ語を含むさまざまな UNICODE 文字のテストに成功しました。 xajax は、より広範囲の文字と言語をサポートできます。スペイン語、ロシア語、アラビア語、ヘブライ語を含むさまざまな Unicode 文字で正常にテストされています。Xajax で生成されたほとんどすべての JavaScript は、表示時に動的外部 JavaScript を介して Web アプリケーションに組み込むことができます。ブラウザーでアプリケーションのソース コードを表示すると、HTML マークアップに JavaScript 関数の定義は含まれません。
xajax によって生成された JavaScript のほぼすべてが、動的外部 JavaScript を通じて Web アプリケーションに組み込まれます。ブラウザ内のアプリケーションでは、マークアップは JavaScript 関数定義によって乱雑にされません。
Xajax は Smarty テンプレートで使用できます。 システムでは、xajax の JavaScript を含む Smarty 変数を作成するだけです:
$smarty->assign(' xajax_javascript', $xajax->getJavascript());
その後、ヘッダー テンプレートで使用できます
{$xajax_javascript}
これにより、xajax がサイトに適用されます。
xajax は、変数を作成することで Smarty テンプレート システムで使用できますxajax JavaScript を含む Smarty 内:
$smarty->assign('xajax_javascript', $xajax->getJavascript());
Then you can use
{$xajax_javascript}
in your header template to use xajax on your site.
如何在我的PHP脚本之中使用xajax?
Xajax的设计是如此的富有特色,以至于不管是已有的web程序还是新的项目,它都能够被极其简单的部署和应用. 仅仅需要七步,你就可以在几乎任何PHP脚本之中加入xajax的强大功能:
How do I use xajax in my PHP script?
xajax is designed to be extremely easy to implement in both existing web applications as well as new projects. You can add the power of xajax to nearly any PHP script in seven easy steps:
包含xajax类库:
require_once("xajax.inc.php");
实例化xajax 对象:
$xajax = new xajax();
注册你需要通过xajax调用的PHP函数的名称:
$xajax->registerFunction("myFunction");
编写注册的PHP函数,并且在函数之中使用xajaxResponse 对象返回XML指令:
function myFunction($arg)
{
   // 对$arg做一些基本处理例如从数据库检索数据
   // 然后把结果赋值给变量,例如$newContent
  
   // 实例化xajaxResponse 对象
   $objResponse = new xajaxResponse();
  
   // 添加指令到响应之中,用于指派
   //指定元素(例如id="SomeElementId")的innerHTML属性的新的内容
   $objResponse->addAssign("SomeElementId","innerHTML", $newContent);
  
   //返回xajaxResponse 对象生成的XML响应
   return $objResponse->getXML();
}
在你的脚本输出任何信息之前,调用xajax用于接管请求:
$xajax->processRequests();
在页面的 标签之间, 告诉xajax生成所必需的JavaScript:
printJavascript(); ?>
在程序中,从JavaScript事件或者函数调用前面注册的函数:


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。