【JS】標準的なAJAX入門
以下の本のChapter8-1,2の学習記録です!
JavaScript本格入門 ?モダンスタイルによる基礎からAjax・jQueryまで
- 作者: 山田祥寛
- 出版社/メーカー: 技術評論社
- 発売日: 2010/11/27
- メディア: 大型本
- 購入: 29人 クリック: 673回
- この商品を含むブログ (53件) を見る
*** XMLHttpRequestオブジェクト 以下のようなプロパティを持っています。 ・onreadystatechange→通信の状態が変化したタイミングで呼び出されるイベントハンドラ ・readyState→Http通信の状態を取得 ・status→Httpステータスコードを取得 メソッドも。 ・open(HTTPメソッド, URL, 非同期フラグ)→通信開始(初期化?)。GETかPOSTのHTTPメソッドを選択し、URLに対し、非同期フラグが立ってたら非同期で通信する。 ・send()→HTTPリクエストを送信
基本的にはonreadystatehangeに通信ができた場合や出来なかった場合の処理を列挙しとけばいいわけですね! パーフェクトJavaScriptも見たけどはじめの方は同じようなこと書いてありました。
パーフェクトJavaScript (PERFECT SERIES 4)
- 作者: 井上誠一郎,土江拓郎,浜辺将太
- 出版社/メーカー: 技術評論社
- 発売日: 2011/09/23
- メディア: 大型本
- 購入: 24人 クリック: 588回
- この商品を含むブログ (12件) を見る
|javascript| function getXHR() { var req; try { req = new XMLHttpRequest(); } catch(e) { try { req = new ActiveXObject('Msxml2.XMLHTTP'); } catch(e) { req = new ActiveXObject('Microsoft.XMLHTTP'); } } return req; }
function asyncSend() { var req = getXHR();
req.onreadystatechange = function(){ var result = document.getElementById('result'); if (req.readyState == 4) { if (req.status == 200) { result.innerHTML = req.responseText; }else{ result.innerHTML = "サーバーエラーが発生しました。"; } } else { result.innerHTML = "通信中"; } }; req.open('GET', 'helloAjax.php?name=' + encodeURIComponent(document.fm.name.value), true); req.send(null); } ||<