Ajaxの操作
XMLHttpRequestオブジェクトを作成します。
XT = VARのNULL ; // 取得ステップAJAXエンジンオブジェクト IF(window.XMLHttpRequest){ // オブジェクトはブラウザのバージョンAJAX作成 XT = 新しい新規のXMLHttpRequestを(); //は、実施形態の新しいバージョンを作成 } 他{ XT = 新しい新しい ActiveXObjectを( "Microsoft.XMLHTTP"); // バージョンを作成するための古い方法 }
状態は、機能をトリガするためにバインドされています
// リスニングステップバインド xt.onreadystatechangeは=コール; // ここでコールバック関数を強制的に
openメソッドを使用してサーバーへの接続を確立
// ステップバインドアドレス xt.open(「GET」、「/ AjaxTest / AjaxServlet名=コリン?」、trueに); // 最初のパラメータ第二引数の要求を指し、最初のパスを指し、三つのパラメータを指すTRUE FALSE同期非同期でない ( "POST"、 "/ AjaxTest / AjaxServlet"、xt.open 真の); POSTリクエストメソッド xt.setRequestHeader( "コンテンツタイプ"、「ファイルアプリケーション/ X-WWW-形-urlencoded " ); また、リクエストヘッダを追加する必要が サーバーに送信エンコードのクライアントを示す意味は、URLエンコードされたテキストです
サーバにデータを送ります
要求モードの取得
xt.sendを();
POSTリクエストメソッドの
xt.send( "ユーザ名=" +名)。
データコールバック関数の戻りの処理
// コールバック関数を作成する 前の状態を決定しない 関数呼び出し(){ VARテキスト = xt.responseText; アラート(テキスト); } に基づいて、状態決意 // HTTPサーバレスポンスステータスコード[正常200_; 400オングストローム例えば要求エラー:要求の構文]; 403_ないアクセス、リソースが存在しない404_アクセス; 500_内部サーバーエラー} // プロパティreadyStateの応答のステータスコードXMLHttpRequestオブジェクト5 [0_XMLHttpRequestの初期化が完了していない。1_XMLHttpRequestオブジェクトは、送信要求を開始し、2_XMLHttpRequest完了オブジェクト要求送信; 3_XMLHttpRequestオブジェクトは応答の読み出しを開始; 4_XMLHttpRequestオブジェクトは、応答が】終了読み取り の状態を決定した後に )関数呼び出しを({ IF(xt.readyState == == 200 xt.status &&である4 ){ VARテキスト = xt.responseText ; アラート(テキスト); } }
サンプルコード
<input type = "ボタン"値 = "取得のonclick = "テスト()"要求"> </ button>の <SCRIPT> のvar XT = ヌル; VAR A = 0 ; 機能テスト(){ IF {(window.XMLHttpRequest) XT = 新しい新規のXMLHttpRequest(); } 他{ XTは = 新しい新しい ActiveXObjectを( "Microsoft.XMHTTP" ); } //// 特性がXMLHttpRequestオブジェクトに応答ステータスコード5をreadyStateの5 // [0_XMLHttpRequest初期化が完了していない; // 1_XMLHttpRequestオブジェクトのリクエストの送信を開始; //完成送信するために2_XMLHttpRequestオブジェクト要求; // 3_XMLHttpRequestオブジェクトは、応答を読み始める; // 4_XMLHttpRequestオブジェクトが応答]が終了読ん //は、メソッドのonreadystatechangeにトリガの状態を変更 xt.onreadystatechange = ;コール xt.open(「GET」、「/アップロードを? = ZYM名」、真の) xt.send() } 関数コール(){ IF(xt.readyState == == 200がxt.statusある。4&){ // 追加この条件が値を取るように決定されなければならない responseText = VAR XT。 responseText; // はconsole.log(responseText); アラート(+ responseText) } } </ SCRIPT>
JSON
インポートのjarパッケージ
コモンズ-beanutils.jarは、Javaのリフレクションパケット提供
コモンズ・collections.jarパッケージの拡張コレクション
コモンズ-lang.jar強化キット
コモンズ-logging.jarログ実装のパッケージを提供
ezmorph-1.0.4.jar
JSON-libが-2.2.2-jdk15.jar
文字列のJSONオブジェクトにPserson
パブリック 静的文字列objectToJson(人物P){ 文字列str = NULL ; JSONObjectジョー = JSONObject.fromObject(P)。 STR = jo.toString()。// 转成字符串 戻りSTR。 }
オブジェクトのJSON文字列への変換
パブリック 静的人jsonToPerson(文字列STR){ // 文字列JSONに最初の文字列 JSONObjectオブジェクト= JSONObject.fromObject(STR); // ;順番に人物オブジェクトをJSON文字列toBean()に 人P =(人物)JSONObject .toBean(オブジェクト、人。クラス); 戻りP; }
配列のコレクションは、JSONに変換され、
パブリック 静的文字列listToJson(リストの<person> のLi){ 文字列str = NULL ; JSONArray JA = JSONArray.fromObject(LI)。 STR = ja.toString()。 リターンSTR。 }
セットJSONに配列を変換します
パブリック 静的リスト<人> jsonToList(文字列STR){ 一覧 <人>リスト= 新しい新しいのArrayList <人>(); // オブジェクトの新しいセットを取得 JSONArray JA = JSONArray.fromObject(STR); // 今の文字列JSONArrayに変換 JSONObjectジョー= nullは、 のために(int型 I = 0; I <ja.size();私は++){ // JSONArray反復 ジョー= ja.getJSONObject(I)を; // 内のすべてのJSONArray JSONObject取得 リストを。 [追加]((人)JSONObject.toBean(ジョー、人。クラス)); // コレクションにオブジェクトとして各バンドルJSONObject UNを変換中 } の戻りリスト; }
配列JSONに配列を変換します
パブリック 静的人[] jsonToArray(文字列str){ JSONArray JA = JSONArray.fromObject(STR)。 人[] P =(人[])JSONArray.toArray(JA、人。クラス)。 リターンのp; }
文字列のJSONを設定するためのマップを変換します
パブリック 静的文字列mapToJson(MAP <整数、人> M){ 戻りJSONArray.fromObject(M).toStringを(); }