一、 HelloWrold步骤 PHP代码 //服务器端 require_once (../../xajax.inc.php); //定义处理函数, //并在处理函数中实例xajaxResponse对象
一、 HelloWrold步骤
PHP代码
//服务器端
require_once ("../../xajax.inc.php");
//定义处理函数,
//并在处理函数中实例xajaxResponse对象,
//调用其方法控制控件的值,再返回该对象
function myFunc($text){
//实例响应对象
$objResponse = new xajaxResponse();
//改变控件值
$objResponse->addAssign("div1","innerHTML",$text);
return $objResponse;
}
//初始化xajax
$xajax = new xajax(); //可以指定服务器端的响应程序
$xajax->registerFunction("myFunc"); //注册处理函数
//开始接受请求
$xajax->processRequests();
PHP代码
//客户端(客户端与服务器端应共享同一个xajax对象,可做成公共配置文件)
//在
区加入script$xajax->printJavascript('../'); //可用变量,由模板解析
//定义接受新内容的控件
//実行メソッド、xajax_ はプレフィックス、myFunc は登録された関数名
概要: まずサーバーとクライアントが共有する xajax オブジェクトを構築し、次に対応する処理関数を定義します (関数内に xajaxResponse オブジェクトを構築し、そのオブジェクトの addAssing などのメソッドを使用してクライアント コントロールを操作します)。次に、この関数は processRequests メソッドを使用して実行を開始します。クライアントは、xajax オブジェクトの printJavascript メソッドを呼び出して JavaScript コードを生成し (head セクションに追加)、処理をトリガーするイベントを定義する必要があります。メソッド名は「xajax_」+登録時の関数名です。接頭辞はxajaxの初期化時に変更できます
。
2. よく使われる方法
xajax($sRequestURI="",$sWrapperPrefix="xajax_",$sEncoding=
XAJAX_DEFAULT_CHAR_ENCODING,$bDebug=false);
コンストラクター、$sRequestURI サーバー URI、クライアント呼び出し時の $sWrapperPrefix プレフィックス、$sEncoding エンコード
registerFunction($mFunction,$sRequestType=XAJAX_POST)
レジスタ処理関数、$mFunction 関数名、$sRequestType 送信タイプ、別のオプションは XAJAX_GET
クラスメソッドを使用できます:
registerFunction(array "myFunc",&$myObj,"myMethod"));
フロントエンド呼び出し $myObject の 'myFunc' 関数名、クラス インスタンス 'myMethod' クラス メソッド
registerExternalFunction($mFunc,$sIncludeFile,$sRequestType=XAJAX_POST)
$sIncludeFile には関数定義の外部ファイルパスが含まれます。その他は別の関数定義ファイルを導入するための registerFunction と同じです。
registerCatchAllFunction($mFunction)
フロントエンドが存在しない関数を呼び出したときに実行されるデフォルトの処理関数を定義します
registerPreFunction($mFunction)
フロントエンドが関数を呼び出すとき、このメソッドが最初に呼び出されます。
processRequests() //実行開始
printJavascript($sJsURI="", $sJsFile=NULL)
フロントエンド JavaScript コードを出力します。
getJavascript($sJsURI="", $sJsFile=NULL)
フロントエンドに適用された JavaScript コードを、テンプレート エンジンで使用する変数に出力します
xajaxResponse オブジェクト
xajaxResponse($sEncoding=XAJAX_DEFAULT_CHAR_ENCODING, $bOutputEntities=false)
エンコーディングまたは HTML タグを変換するかどうかを指定できるコンストラクター
setCharEncoding($sEncoding) //エンコーディングを変更します
AddconfirmCommands($iCmdNumber, $sMessage)
ユーザーは操作を確認します。 $iCmdNumber 「キャンセル」を選択すると、スキップされるコマンドの数が表示されます。$sMessage プロンプト メッセージ
addAssign($sTarget,$sAttribute,$sData)
$sTarget の $sAttribute 属性の値を $sData に変更します;
addAppend($sTarget,$sAttribute,$sData)
元の値の後に新しい値を追加します
addPrepend($sTarget,$sAttribute,$sData)
元の値の前に新しい値を挿入します
addReplace($sTarget,$sAttribute,$sSearch,$sData)
元の値の $sSearch を $sData に置き換えます
addClear($sTarget,$sAttribute) //元の値をクリアします
addAlert($sMsg) //アラートダイアログボックスを生成します
addRedirect($sURL) //リダイレクト
addScript($sJS) //JavaScript コードを実行
addScriptCall("myJSFunction", "arg 1", "arg 2", 12345);
JavaScript 関数 myJSFunction を呼び出します
addRemove($sTarget) //要素を削除します
addCreate($sParent, $sTag, $sId, $sType="")
$sParent に子要素 $sTag
を追加します//要素を挿入
addInsert($sBefore, $sTag, $sId)
addInsertAfter($sAfter, $sTag, $sId)
//フォーム項目を追加
addCreateInput($sParent, $sType, $sName, $sId)
addInsertInput($sBefore, $sType, $sName, $sId)
addInsertInputAfter($sAfter, $sType, $sName, $sId)
//イベント処理を追加
addEvent("contentDiv", "onclick", "alert('Hello World');");
//onclick イベントを contentDiv コントロールに追加します
addHandler($sTarget,$sEvent,$sHandler)
addHandler("contentDiv", "onclick", "clickit");
//onclic イベントを contentDiv に追加し、JavaScript メソッド clickit を実行します
//イベント処理を削除します
addRemoveHandler("contentDiv", "onclick", "content_click");
//外部 js ファイルを追加します
addIncludeScript("functions.js");
// 応答を返します。$ajaxResponse();
を直接返すことができますgetXML()
さらに: フロントエンド プログラムでは、次のメソッドを使用してフォーム値をバックエンドに送信できます
xajax_myFunc(xajax.getFormValues('formId'));
に渡されるのはフォームの ID です。2 番目のパラメータが true に追加されると、フォーム内の disable 属性を持つコントロール値も
に渡されます。