にっき

2006/08/31 22:09:57

あじゃこんぐ


よく見かけるものでもWeb2.0とかICTみたいに名前だけのものよりもやっぱり中身のあるもののほうがいいにゃぁ・・・
ってことでなつやすみの宿題っぽく8月最終日にjavascriptのXMLHttpRequestを使った自由研究にちゃれんぢ☆



めいんになるのは標準っぽいXMLHttpRequest,IE系のActiveXObjectでで〜たを投げて
帰ってきたものを表示中の画面にぽいするだけ☆

ってことでまずはhttpを投げるくらいあんとおぶじぇくとを生成
// とりあえず初期化
var cli = null;

// XMLHttpRequestが使えるかちぇっく
if(window.XMLHttpRequest)
 cli = new XMLHttpRequest();
// ActiveXObjectが使えるかちぇっく
else if(window.ActiveXObject)
 try
 {
// とりあえず新しいのを創れるかちゃれんぢ
  cli = new ActiveXObject('Msxml2.XMLHTTP');
 }
 catch(e)
 {
// へっぽこぷぅでもいいからとりあえずちゃれんぢ
  cli = new ActiveXObject('Microsoft.XMLHTTP');
 }

なかんじで3段階ちゃれんぢをしてもcliがnullのままなときは使えないっぽいのにう(つx;【みかん

無事にくらいあんとおぶじぇくとができたら今度はさ〜ばにで〜たをぽい☆
// 接続開始
// @param  method = 接続めそっど(通常は'get'か'post')
// @param  address = 接続するあどれす(せきゅりてぃの関係でおんなじどめいん限定っぽい)
// @param  flag = trueならばっくぐらうんどで,falseならふぉあぐらうんどで処理待ち
cli.open(method,address,flag);
// MS製だとcontent-typeを投げてくれないから自分で追加
cli.setRequestHeader('content-type','application/x-www-form-urlencoded; charset=UTF-8');
// すて〜たすが変更になったら起動するめそっど
cli.onreadystatechange = function()
{
// すて〜たすが変わっても正常に受信完了したとは限らないからちぇっく☆
 if(cli.readyState == 4 && cli.status == 200)
 {
// で〜たが正常にげっと完了したときの処理はここ
// responseTextかresponseXMLにげっとできたで〜たが入ってるけど・・・
// XMLはぱ〜す処理が大変だからさ〜ばで整形したのを投げ込んだほうがよさそうかも・・・
 }
}
// で〜た送信☆
// @param  body = postのときはここにりくえすとで〜たを入れれるっぽい
//                ぁゃιぃ文字を使うときはencodeURIComponent()をかけないとかなぁ?
//                Operaのう゛〜ぢょんによってはnullだと怒られるから空文字をぽい
cli.send(body);

でおしまい☆

さ〜ばでの処理やもらったで〜たをどうするかはぱすしてあるけど意外とさっくりにう?(´ω`。【みかん

せっかくだから手抜きできるようにして☆
/**
 * myHttpClient
 *
 * @param   string    met  =  method name
 * @param   string    adr  =  target url
 * @param   string    bod  =  message body
 * @param   function  fnc  =  callback function
 *                            argments[0] => response data
 * @param   bool      flg  =  response mode flag
 *
 * @return  bool
**/
function myHttpClient(met,adr,bdy,fnc,flg)
{
 var cli = null;
 if(window.XMLHttpRequest)
  cli = new XMLHttpRequest();
 else if(window.ActiveXObject)
  try
  {
   cli = new ActiveXObject('Msxml2.XMLHTTP');
  }
  catch(e)
  {
   cli = new ActiveXObject('Microsoft.XMLHTTP');
  }

 if(cli == null)
  return false;

 cli.open(met,adr);
 cli.setRequestHeader('content-type','application/x-www-form-urlencoded; charset=UTF-8');
 cli.onreadystatechange = function()
 {
  if(cli.readyState == 4 && cli.status == 200)
   fnc(flg ? cli.responseText : cli.responseXML);
 }
 cli.send(bod);
 return true;
}

これで必要なで〜たを創ったらあとはおまかせかにう?
たいした処理してないからあんまり手抜きできないけど・・・

この手のことって探せばいろんなさんぷるやらいぶらり見つかるから『車輪の再発明だ』なんていうひといるけど,
こぴぺしかできないようじゃなんにも創れないから基本を抑えとくのもだいじだと思うのにう(ーxー。【壁


こめんと

こめんとする?



 
投稿された内容の著作権はこめんとの投稿者に帰属するっぽいです☆
また,現在 IE6 以下で Sleipnir,Lunascape,Donut じゃないゆ〜ざえ〜じぇんとからの描き込みを制限してますです☆
該当しちゃうかたはてきとうにゆ〜ざえ〜じぇんとを偽装しちゃってくださいです(´ω`;【みかん
さぶこんてんつ
前月 2024年 3月 翌月
          1
 
2
 
3
 
4
 
5
 
6
 
7
 
8
 
9
 
10
 
11
 
12
 
13
 
14
 
15
 
16
 
17
 
18
 
19
 
20
 
21
 
22
 
23
 
24
 
25
 
26
 
27
 
28
 
29
 
30
 
31
 
           
  • あじ あじ
  • ED ED
  • えでん えでん
  • えれふぃ えれふぃ
  • ぐらぶれ ぐらぶれ
  • etc etc
  • にっき にっき

あわせて読みたい

先頭に戻る
めにう 先頭に戻る