最近色々な勉強会に参加していますが、会社の先輩からconnpassというイベント支援サイトを紹介していただきました。
でも、イベントの検索機能が見当たらない。。。
無いなら作ってしまおう! ということで簡易検索ページを作ってみました。
↓が作ったページのリンクになります。
まず、connpassで提供されているWeb APIを調べました。
以下のページで提供している機能が公開されています。
GETリクエスト送信時に必要なパラメータを与えてやることで値が返ってくる仕組みです。
JSON (JavaScript Object Notation)というデータ交換フォーマットで値が返ってきます。
リファレンスにはありませんが、
callback=コールバック関数名
としてやることでJSONPにも対応します。
私は最初、XMLHttpRequest
を使えば簡単にできるだろうと思っていました。
しかし、異なるドメイン間の通信(クロスドメイン通信)に非対応であったため、GETのリクエスト応答が常に0になり、responseText
も取り出せない状況で頭を抱えてしまいました。。。
色々調べてみるとJavascriptでクロスドメイン通信を行うにはJSONPという方法で行うのが正しいと分かりました。
※ここにたどり着くまで半日もかかってしまいました。。。
通信の方法さえ分かれば、あとは受信した内容を解析・整形してやれば良いだけなのであとは楽です。
とりあえず、札幌(または北海道)の勉強会、カテゴリー別の勉強会一覧が取得できれば良いので、これらの検索機能を実装しました。
実装には試験的にHTML5とCSS3を使っています。
今まで実現しにくかったものが実現しやすい環境になったなと思いましたね。
そのうち、Google Maps APIとかと連動させて地図情報も提供できるようにしていきたいなぁ。
時間を見つけて機能拡張はしていこうと思いますので、ご要望などがありましたらご連絡ください。
※連絡先はプロフィールページに記載しています。この記事に対してのコメントでもOKです。
コメント