ひらい ぶらり Hi-Library

ぷろぐらみんぐについて。ときどきどうでもいいことについて。

GoogleデスクトップでAjax

GoogleデスクトップAjaxを使う場合は、普段と勝手が少し違うみたいだ。
シンプルなAjaxの書き方は以下なかんじ

var httpObj;
function loadTextFile()
{
    httpObj = new XMLHttpRequest();
    httpObj.onload = displayData;
    httpObj.open("GET","data.txt",true);
    httpObj.send(null);
}
function displayData()
{
    document.ajaxForm.result.value = httpObj.responseText;
}

非同期通信だから、読み込み終わってから処理をしましょうってことですね。
ただしGoogleデスクトップではonloadが使えません。クマった。
というわけで、onreadystatechangeを使います。
onreadystatechangeとは、readyStateプロパティの値が変化するたびに呼び出される関数で、readyStateプロパティはサーバからデータを受信するたびに値の更新が行われるプロパティの値。
readyStateプロパティの値が「4」の状態で通信完了。statusプロパティが「200」なら正常完了。「404」がエラーだった気がする。
詳しくはこちら
http://www.ajaxtower.jp/ini/http/index2.html

というわけで、GoogleデスクトップAjaxしたいときは以下な感じでよろぴくみー。

function loadData()
{
    httpObj = new XMLHttpRequest();
    httpObj.onreadystatechange = displayData;
    httpObj.open("GET",url,true);
    httpObj.send(null);
}
function displayData()
{
    if(httpObj.readyState == 4){
        if(httpObj.status == 200){
            //処理 
        }
    }
}

しかし実機をいじれないシンバシはLEAFBANKのデータを取得することができないのでした。まぁ、正規表現でnon_flash版から値を取得すればいいんだけども、そこはまたそのうち。
明日やろうは馬鹿野郎ということです。