Jqueryを使うとびっくりするほど簡単に非同期通信ができます。
なにせ、load命令一行ですから。
昔は結構大変だったのが懐かしくなります。
自分のノスタルジーのために昔の非同期通信のソースなど
function sendRequest( url, callback, method, data ) { var req = createXMLHTTP(); if( !req ){ return; } // 【2】レスポンスデータ受信時に呼び出すイベントハンドラ req.onreadystatechange = function(){ getResponse( req, callback ); } // GET時のデータ処理 if(method.toUpperCase() == 'GET' && data.length > 0) { url += '?'+ data; data = ''; } // 【3】指定したURLに接続 req.open( method, url, true ); // POSTデータ用ヘッダ req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=euc-jp"); // 【4】HTTPリクエストを送信 req.send( data ); } // XMLHttpRequestオブジェクト生成 function createXMLHTTP() { if( window.XMLHttpRequest ){ // IE以外 return new XMLHttpRequest(); } else if( window.ActiveXObject ){ // IE用(バージョンにより異なる) try { return new ActiveXObject("MSXML2.XMLHTTP"); } catch(e) { try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e2) { return null; } } } return null }
なんて感じでやってましたが、JQueryだと、
$(function(){ $("#btn").click(function(){ $("#makeText").load("./sample.txt"); }); });
id=btnのボタンをクリックすると、sample.txtが呼ばれて、その結果がid=makeTextのところに書かれるという。非常に簡単に記述することができます。
また、入力した値を渡すのも、
$(function(){ $("#btn").click(function(){ var value = $("#txt").val(); $("#makeText").load("./sample.php?val=" + value); }); });
て感じで一発です。
コメント