• ベストアンサー

Ajaxをつかってデータを取得

いつもお世話になっております。 今回はAjaxを使ってデータを取得する方法をお聞きしたいです。 たとえばログリストのようなものがあるとして、サーバー側にそのデータがあります。 そのリストを開いたとき、サーバーからデータを得て、リストに追加します。 そこで「次へ」のようなボタンを押した際、非同期で次の分を取得する方法はありますか? またこれは「パース」という方法になるのでしょうか? ご教授願います。

  • CGI
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.2

#1です。 >XMLHttpRequestというものを使って実装すれば はい。 ただ、ブラウザ間の実装の違いなどがあるため、その辺りの問題を解消し、 かつ、付加機能を付けたライブラリ(prototype.js,jQuery.js等)を使う場合も多いです。 例えばjQueryを利用した場合、 http://www.mikage.to/jquery/jquery_basic.html こちらの「6.Ajax」のサンプルのようにファイルからの読み出し、ページ内の一部を書き換えて表示、という機能が非常にシンプルなコードで実現できます。 (サンプルはクエリ固定で呼び出していますので、実際にはページの制御などを加える事になります)

iec1128
質問者

お礼

ご回答ありがとうございます。 サンプルを見ながら大体の流れをつかめました。 これから勉強して、使えるようになっていきます。

その他の回答 (1)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

>「次へ」のようなボタンを押した際、非同期で次の分を取得する方法はありますか? Ajaxの代表的な用途みたいなものです。 Ajaxでサーバに(Xページ目のデータ(Y件)みたいな)リクエストを出し、サーバ側のスクリプトで、応えるようにします。 >これは「パース」という方法 パース(parse)とはちょっと違うようです。 質問がざっくりし過ぎていて、こうすれば出来る、みたいな具体的な回答には至りませんが、 CGI、Javascriptの基礎知識があるならAjaxの解説を検索してみてはどうでしょうか?

iec1128
質問者

補足

ご回答ありがとうございます。 >>Ajaxでサーバに(Xページ目のデータ(Y件)みたいな)リクエストを出し、サーバ側のスクリプトで、応えるようにします。 やりたいことはそのとおりですが、それをどんな感じでやればいいかわからず困っています。 一通り検索はしてみましたがしっくりくるものがなかったので質問させていただきました。 CGI、Javascriptの基礎知識はそれこそ基礎の部分はわかっているつもりですが。 XMLHttpRequestというものを使って実装すればよいのでしょうか?

関連するQ&A

  • ajaxローディングで取得したデータの並べ替え

    お世話になっております。 データベースからデータを取得し表示し、「もっと見る」ボタンを押下されたらajaxローディングで追加分を取得するという処理と行っています。 ◆javascript処理 ----------- $(function() { //More Button $('.more').live("click",function() { var ID = $(this).attr("id"); if(ID) { $.ajax({ type: "POST", url: "~.php", data:"id="+ID, cache: false, success: function(html){ $("#updates").append(html); $("#more"+ID).remove(); } }); } }); }); -------- 上記の方法で追加部分を取得することはできています。 同じページ内にボタンを配置し取得したデータをソートできるようにしているのですが、 上記の「もっと見る」ボタンで取得後にソートを行うと取得した部分が消えてしまいます。 並べ替えの処理は以下の通り --------------------- jQuery(document).ready(function($) { $('#btn').click(function() { //********************************************** //新着順で並べ替え //********************************************** $('#list').html( $('#list > li').sort(function(a, b) { return parseInt($(b).attr('id'), 10) - parseInt($(a).attr('id'), 10); }) ); }); --------------------- またボタンとリスト部分は以下の通りです。 liタグを並べ替えるボタンを配置しています。 ------------------ <button id="btn">降順に並べ替え</button> <ul id="list"> <li id=1>~</li> <li id=2>~</li> <li id=3>~</li> </ul> ------------------ ajaxローディングで追加取得している部分がliタグと認識されていないため、このような挙動となってしまうと思うのですが解決策はありますでしょうか?ご教示いただけますようお願いします。

  • Ajax+JavaScriptにて外部データの取得について教えて下さい。

    お世話になります。 現在、JavaScriptとAjaxを勉強中なのですが、Ajaxを使ったデータ取得において、外部サーバデータ(例えばYahooホームページのソース)等を取得するには、PHPにて作成した簡易ブラウザが必要と記してありました。 つきましては、PHPでの簡易ブラウザのコードが記述されている書籍・サイトをご紹介頂けます様お願いします。 また、AjaxにてPrototype.jsなどを使っているのですが、具体的で実用的なAjaxの使い方をご教示頂けます様お願いします。 上記質問がカテ違いの場合はご指摘頂けます様お願いします。

    • ベストアンサー
    • AJAX
  • AJAXで取得されているデータのスクレイピング

    PerlでWEB上のデータを収集したりしていますが、 AJAXでデータを取得する部分は、ブラウザでonload後に 行われている為、サーバサイドで実行するPerlで取得する事が出来ません。 そもそもデータの取得は不可能でしょうか? それとも他に実現可能な手段はありますでしょうか? 宜しくお願いいたします。

  • AJAXでサーバーにある連想配列を取り出す

    こんにちは。PHP学習者です。 ブラウザ上でAJAXを使って、サーバーにあるPHPで作ったデータファイルを取得する方法は知っていますが、連想配列を取得することは出来ますか? 今までは連想配列をわざわざテキストファイルに書き換えてからAJAXで取得していましたが、もし直接取得する方法があれば知りたいと思いました。 詳しい方、どうかよろしくご教授ください。お願いします。

  • AjaxのOnFailureについて

    Ajax(prototype.js)を使用しているのですが、OnFailureが呼び出されてしまいます。 プログラムの流れです。 ボタン押下(html) ↓ 前処理(js) ↓ サーバのファイル情報取得(ajax非同期通信→php→戻ってきて情報取得) ↓ 取得したファイル数ループ(js) ↓ ↑ 別のサーバにコピー(ajax非同期通信→php→戻り値判定) ↓ ループ抜けたら終了処理 大量のファイルを処理した場合、4~5経過したあたりで 「別のサーバにコピー(ajax非同期通信→php→戻り値判定)」 が正常に行われず、後処理として記述してあるOnFailureを呼び出してしまいます。 OnFailureについて調べてみたのですが、MSDNのAjaxOptions クラスに 「ページの更新が失敗した場合に呼び出される JavaScript 関数。 この関数は、応答ステータス 200 の範囲内にない場合に呼び出されます。」 と記述されていました。 応答ステータスとは何を指しているのでしょうか。 回避方法があれば教えてください。 よろしくお願い致します。

  • AjaxとJava

    私はAjaxの勉強をしようと思っています。 そのため、簡単なサーバ側はJavaのアプリケーションを作って学ぼうと思ったのですが、どうやって通信すればよいかよくわかりません。 一応わからないなりにいろいろ方法を考えてみたのですが、どれも疑問点があります。 (1)、サーバをJavaで作成して、Ajaxと通信する方法 (2)、JSPを使って、Ajaxと通信する方法 どちらの方法も、 (1)どうやってAjaxからの(正確にはJavaScriptからの)リクエストを受け取って、値を取り出したらいいか (2)どうやってサーバからJavaScriptにデータを送るのか がわかりません(送るパケットは極めてシンプルなもの、たとえば数字とか文字列がいいです)。 入門サイトはほとんどのサーバ側はPHPで作っているので、あまり参考にならないと考えています。 なにか参考になるようなサイトなどはないでしょうか? お返事お待ちしております。

  • AjaxでDBから取得したデータをリスト表示したいです

    AjaxでDBから取得したデータをリスト表示したいのですが、 successの部分にどのように記述したらいいのかが分かりません。 PHPからjason形式で配列で戻せればと思っています。 htmlには n行3列の形で縦長になる形のリストをDOMで表示(になるんですかね?)を考えています。 よく分からないので教えて下さい。

  • AJAXでクリック時にサーバーからfinctionを取得

    普通Javascripではfunction等は HTMLが読み込まれた際に実行または読み込まれますが、 AJAXでクリック時にサーバーからデータを取得する際に、 function(){}も取得したしてもそのfinctionは有効なのでしょうか? AJAXでデータは取得できても、functionなどのメソッドを取得してそれを有効にすることは可能でしょうか? よろしくお願いします。

  • Ajax⇒CGI

    JavaScriptは結構知ってますが、 AjaxとPerlに関しては初心者のものです。 早速ですが質問です。 Ajaxで送信したデータをCGI(Perl)で処理して、 サーバーのテキストに保存する方法が良く分かりません。 サーバーはCGIを許可しているところを使っています。 どなたか詳しい方、ご教授お願いします!

  • サーブレットはサーバーと同期型、AJAXは非同期型の意味が分かりません

    サーブレットはサーバーと同期型、AJAXは非同期型の意味が分かりません サーバーサイドjavaとか、サーブレットはクライアント側(ブラウザ側)と サーバー側とは同期型だけど、AJAXは非同期型なので軽くて、速いと参考書とかに 書いていましたが、非同期型とはどのような意味でしょうか。  クライアントの意図する情報を先読みして、その情報をバッファとしてサーバーとか に取り込んでいるとか、クライアント側に送信しているとか聞いたことがあるのですが。

    • ベストアンサー
    • AJAX

専門家に質問してみよう