サイドバーガジェットでXMLHttpRequestを使う

ガジェットからサーバーに検索を掛けて、応答を表示、なんてのを実現する場合は、XMLHttpRequest を使います。

XMLHttpRequest は、ajax でお得意なところなので、巷に解説記事があるので、それを参照と。

自分好みのガジェットを作る! Windowsサイドバーガジェット作り入門:第3回 ガジェットを作ってみる(中編)|gihyo.jp … 技術評論社
http://gihyo.jp/dev/feature/01/windows-gadget/0003?page=1

ちょうど、そういう記事があったので、流用していきます。

普通のAjaxの場合は、非同期で行うのでコールバックを作るのですが、ガジェットの場合は別に同期でも良いかな、と。

そうなると、ガジェットからXMLHttpRequestの呼び出しはごく簡単に、

 
		// command seach 
		function search(keyword) {
		    var xhr = new XMLHttpRequest();
		    xhr.open("GET", "http://moonmile.net/php/linux.php?keyword="+ keyword, false );
		    xhr.send(null);
		    return eval(xhr.responseText);
		}

な風なものが十分。

これを表示する場所は、まだ決めていないのですが、先の記事にある通り Flyout を使うのか、って感じです。

そう、サーバーからの戻り値は、JSONが良いようです。最後の、

return eval(xhr.responseText);

のところで、javascriptの配列に直すので、XMLで扱うより便利。。。ですが、逆に言えば .NET クライアントとかで扱う場合にはちと不便ですね。

という訳で、材料は揃ったので整形していきましょうか。

# そうだ、思いついたんだけど、ガジェットで jQuery って使えるんだろうか?

 

カテゴリー: サイドバーガジェット パーマリンク