Copyright © 2001-2005 Ariel Networks, Inc. AJAX 勉強会 アリエル・ネットワーク株式会社.

Slides:



Advertisements
Similar presentations
© 2007 Autodesk1 ProjectPoint API 概要 AEC ソリューション CPM オートデスク株式会社.
Advertisements

TCP/IP によるチャットプログラ ム 薄井 秀晃. 基礎知識編 TCP/IP とは? IP とは・・・ Internet Protocol の略称であり通信方法の技術的なルールで あり、実際にデータを送受信する前にデータを小さなデータ に分割し、それに発信元と受信先の IP アドレスを付加させて.
JavaScript における DOM 操作 XML 読み込み Ajax( 動的 HTML 編集 ) 情報システム工学科ラシキアゼミ 3年 H 107072 田中直樹.
Integrated Personal Page C05823 森本万里子 C05829 西山礼恵 C05899 高木華子.
Internet Explorer 障害解析 最初の一歩 - IE のトラブルを理解する -. 概要 Internet Explorer を使用中に発生するトラブルの 種類と、調査のための切り分け方法を紹介します! (以降は IE と略称で表記します) よくあるお問い合わせ Web ページの表示が白画面のまま完了しない.
Nov Yosuke HASEGAWA #owaspjapan. OWASP Japan Local Chapter Meeting #8 #owaspjapan 自己紹介 はせがわようすけ  ネットエージェント株式会社  株式会社セキュアスカイ・テクノロジー 技術顧問  Microsoft.
1 安全性の高いセッション管理方 式 の Servlet への導入 東京工業大学 理学部 千葉研究室所属 99-2270-6 松沼 正浩.
© 2005 株式会社はてな 本資料の一部または全部の無断複製・転載を禁じます prototype.js と Perl で Ajax 株式会社はてな 伊藤 直也
第6回 JavaScript ゼミ セクション3-6 発表者 直江 宗紀. 組み込み関数  JavaScript に予め用意された関数  特定のオブジェクトに依存していない  単に関数名で呼び出すことが可能.
1 PHP プログラムの実行(まと め) 担当 岡村耕二 月曜日 2限 平成 22 年度 情報科学 III (理系コア科目・2年生) 本資料の一部は、堀良彰准教授、天野浩文准教授、菅沼明 准教授等による以前の講義資料をもとにしています。
1 なんとなく Ajax ~新しくて古い XMLHttp 川合孝典 (Kansai.pm) 2005/5/22.
ZenCartにおける PayPalの設定マニュアル
Web アプリをユーザー毎に カスタマイズ可能にする AOP フレームワーク
RailsによるAjaxの利用 回生 小野 実.
Curlの特徴.
IIS 4.0で開発をするコツ Webアプリケーション構築.
ZKプラグインで、Grailsの Viewをリッチに楽しく
情報基礎A 情報科学研究科 徳山 豪.
The Perl Conference Japan ’98 朝日奈アンテナによる コンテンツ情報の取得と利用
ブラウザの基本操作 前のページに戻る ブラウザの左上にある 「戻る」ボタンで、自分がたどってきた一つ前のページに戻ることができます。
Webサービスに関する基本用語 Masatoshi Ohishi / NAOJ & Sokendai
Webアプリケーションの 通信メカニズム WEBアプリ研究プロジェクト 第2回.
JPAを利用した RESTful Webサービスの開発
IE5でアプリケーション開発 東日本計算センター 小野 修司.
オペレーティングシステムⅡ 第5回 講師 松本 章代 VirtuaWin・・・仮想デスクトップソフト 2009/11/6.
Hot Pepper for iPod touch
エンタープライズアプリケーション II 第10回 / 2006年7月23日
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
コンポーネントの再利用に必要な情報 えムナウ (児玉宏之)
Servlet J2EE I 第8回 /
ケータイキット for Smarty のご紹介
JavaServlet&JSP入門 01K0018 中村太一.
第4回 個人の動画配信補足のためのWeb構築
Bottle/Pythonによる Webアプリ入門
卒研:データベースチーム 第4回 DOMを使った処理
Piggy Bank: Experience the Semantic Web Inside Your Web Browser
卒業研究 PHPによるGoogleMapAPI を利用した 喜田村緑郎日記システムの 試作 平成19年2月10日 情報システム解析学科
セッション管理 J2EE I 第9回 /
HTTPプロトコルとJSP (1) データベース論 第3回.
JQueryでAjax 藤田@ジャストプレイヤー ※参考しまくり文献 jQuery日本語リファレンス.
Curlの仕組み.
タグライブラリとJSP J2EE II 第2回 2004年10月7日 (木).
押さえておきたいIE8の セキュリティ新機能
HTTPプロトコル J2EE I 第7回 /
Day3 Day4 Day3 Day4.
XML読み込みとDOM操作で Ajaxに近づこう
情報コミュニケーション入門 総合実習(1) 基礎知識のポイント(2)
GoogleMapsを利用した コレクションシステムの試作
ネットワークプログラミング論 平成28年12月12日 森田 彦.
データベース設計 第9回 Webインタフェースの作成(1)
基幹理工学研究科 情報理工学専攻 後藤研究室 修士1年 魏 元
実際にたたいてAPI APIの初歩からプログラムまで使用方法のAtoZ.
第8章 Web技術とセキュリティ   岡本 好未.
介護支援システム SYLVIE 頼れる介護のセキュリティ 開発メンバー リーダー 岩本 和磨
9.1 DOMの概要 9.2 DOMプログラミングの基礎 9.3 DOMのプログラミング例
ガジェット・マスターへの まわり道!? ~Ajaxを理解しよう~
暗黙的に型付けされる構造体の Java言語への導入
第7回JavaScriptゼミ セクション4-5 発表者 直江 宗紀.
Webセキュリティ 情報工学専攻 1年 赤木里騎 P226~241.
Webプロキシ HTTP1.0 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
日本郵便 「Web-EDI」利用ガイド (JP EDIシステム)
ネットワークプログラミング (3回目) 05A1302 円田 優輝.
JavaScriptを含んだHTML文書に対する データフロー解析を用いた構文検証手法の提案
Webアプリケーションと JSPの基本 ソフトウェア特論 第4回.
ネットワークプロトコル.
Microsoft Office Project Server 2007
今の俺にシカクはねぇ!! 資格取得支援システム.
Webプロキシ HTTP1.1 ヒント CS-B3 ネットワークプログラミング  &情報科学科実験I.
JSONの概要, Cloud FireStore で JSON を扱う
HTTPプロトコルの詳細 M1 峯 肇史.
Presentation transcript:

Copyright © Ariel Networks, Inc. AJAX 勉強会 アリエル・ネットワーク株式会社

Copyright © Ariel Networks, Inc. Ajax とは Ajax と通常の Web アクセスとの違い Ajax のメリット、デメリット Ajax を使う Ajax を使っているサイト 簡単な実装例 Ajax を使う上での注意 Ajax 対応ライブラリ

Copyright © Ariel Networks, Inc. Ajax とは Asynchronous JavaScript and XML – 「 Javascript で」、サーバーと「非同期に」「 XML データを」やり取りする Ajax: A New Approach to Web Applications – – (日本語訳)

Copyright © Ariel Networks, Inc. Ajax と通常の Web アクセスとの違い 通常の Web アクセス –GET や POST による HTTP リクエストをサーバーに投げる – リクエストに応じてサーバーから返される HTML をブラウザに表示する Ajax –JavaScript を使って適宜バックグラウンドでサーバーと通信する – サーバーから XML データを取得し、ダイナミック HTML で表示を更新する

Copyright © Ariel Networks, Inc. Ajax と通常の Web アクセスとの違い

Copyright © Ariel Networks, Inc. Ajax と通常の Web アクセスとの違い 従来の Web アクセス

Copyright © Ariel Networks, Inc. Ajax と通常の Web アクセスとの違い Ajax の場合

Copyright © Ariel Networks, Inc. Ajax のメリット、デメリット メリット – 柔軟な動作の RIA(Rich Internet Applicatoin) を実現できる – 動作させるためにプラグインが必要ない – 商用の開発環境が必要ない デメリット – ブラウザによって動作に微妙な違いがある – ブラウザのローカルキャッシュが Ajax の動作に影響を与える場合がある –Ajax でアクセスできるのは、元ページと同じドメイン内の URL に限られる – プログラムの中身がユーザーに丸見えになる (メリットでもある ? )

Copyright © Ariel Networks, Inc. Ajax を使っているサイト Google サジェスト – Google ローカル – Amazon の A9.com – Banana republic – Zimbra –

Copyright © Ariel Networks, Inc. Ajax を使う Ajax を用いた実装とは、 –JavaScript で XMLHttpRequest オブジェクトを利用 – ページ全体の読み込みとは非同期にサーバーと通信 – ダイナミック HTML を利用してページの必要な部分だけを書き換える XMLHttpRequest オブジェクト –IE5.0 以降 (1999 年 3 月 ) –Mozilla 1.0 以降 (2002 年 6 月 ) 昔からある技術を組み合わせて、 Ajax という名前を付けただけ

Copyright © Ariel Networks, Inc. 簡単な実装例 var HttpRequest; function hoge(url) { if (this.XMLHttpRequest) { HttpRequest = new XMLHttpRequest(); } else { HttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } HttpRequest.onreadystatechange = readyStateChangeHandler; HttpRequest.open("GET", url, true); HttpRequest.send(null); } function readyStateChangeHandler() { if (HttpRequest.readyState == 4) { if (HttpRequest.status == 200) { var obj = document.getElementById(“fuga"); obj.innerHTML = HttpRequest.responseText; }

Copyright © Ariel Networks, Inc. XMLHttpRequest オブジェクトのメソッド メソッド解説 abort() リクエストの中止 getAllResponseHeaders() レスポンスのヘッダをすべて取得 getResponseHeader("headerLabel") レスポンスのヘッダ "headerLabel" の値を取得 open("method", "URL"[, asyncFlag[, "userName"[, "password"]]]) リクエストの方法、 URL 、同期 / 非同期アクセス、 ユーザ名、パスワードをセットする send(content) リクエストを送信する setRequestHeader("label", "value") リクエストのヘッダ "label/value" を指定する

Copyright © Ariel Networks, Inc. XMLHttpRequest オブジェクトのプロパティ プロパティ解説 onreadystatechange ステータスが変わったときに呼ばれるイベントハンドラ readyState オブジェクトのステータス : 0 (UNINITIALIZED) オブジェクトは、作成されていますが、まだ、初期化されていません (open メソッドは呼ばれていません ) 。 1 (LOADING) オブジェクトが作成されましたが、まだ、 send メソッドは呼ばれていません。 2 (LOADED) send メソッドは呼ばれましたが、 status とヘッダはまだ届いていません。 3 (INTERACTIVE) いくつかのデータを受け取りました。この状態では responseBody や responseText プロパティはエラーを返すでしょう。それは、 status とレスポンスヘッダがまだすべ て届いていないからです。 4 (COMPLETED) すべてのデータを受け取りました。 responseBody と responseText プロパティの 完全なデータが利用可能です。 responseText 受け取ったデータの文字列 responseXML 受け取ったデータの XML status サーバから受け取ったステータスコード 404 や 200 など statusText Status コードに対応した文字列 404 であれば "Not Found" とか、 200 であれば "OK" など

Copyright © Ariel Networks, Inc. 簡単なデモ

Copyright © Ariel Networks, Inc. Ajax を使う上での注意 アクセスするドメイン制限 –Ajax でアクセスできるのは、同じドメイン内に限定される 文字コード ブラウザのローカルキャッシュ XML データの取り扱い

Copyright © Ariel Networks, Inc. 文字コードについて 日本語を扱う場合 –Ajax でそのまま日本語を送受信すると文字化けするブラウザがある –Form など ブラウザが自動的に URI エンコードしてくれる –Ajax 明示的に URI エンコードする必要がある Javascript で使用できる方法 –escape() 古いメソッドで、ブラウザにより実装が異なる –encodeURI() と encodeURIComponent() ECMAScript の仕様に従ったメソッド どんな文字コードの文字列でも UTF-8 にしてエンコードする

Copyright © Ariel Networks, Inc. ブラウザのローカルキャッシュ Ajax によるサーバーへのアクセスもブラウザのキャッシュが有効になる –→ 意図しない動作や、まったく動作していないように見えてしまう ブラウザのキャッシュの設定を無効にする アクセス時に毎回値が異なるパラメータを追加する –url = url + "t=“ + (new Date()).getTime(); リクエストヘッダに細工をする –xmlHttpRequest.setRequestHeader("If-Modified-Since", "Thu, 01 Jun :00:00 GMT");

Copyright © Ariel Networks, Inc. XML データの取り扱い responseXML は XML オブジェクト responseText はテキストデータ XML データを Javascript で扱うには DOM 操作が必要 – 取り扱いにくい responseXML alert(responeXML.firstChild.nodeValue); JSON ( JavaScript Object Notation ) var JSONObject = { "test1": "hello1“, "test2": "hello2“ }; alert(JSONObject.test1); JKL.ParseXML hello1 hello2

Copyright © Ariel Networks, Inc. Ajax 対応ライブラリ prototype.js – jslb_ajax.js – Survey of AJAX/JavaScript Libraries –

Copyright © Ariel Networks, Inc. Q&A