プロが教える店舗&オフィスのセキュリティ対策術

教えて下さい。
phpで作成しています、データ一覧表示の画面があります。
画面表示の時点でデータを全件表示しており、それに対するページング(js)の機能もつけています。

検索ボタンで入力条件通りのデータをajaxを使って
非同期(画面リロードなし)で表示していますが
ページングが動きません。(最初の全件データ分の
ページングが表示されたままの状態です)

一般的なJQeryのページングを使っているのですが単純にリロードされていないから読み込まれていないということなのでしょうか?

また、ページのソースを見ても(右クリックでソース表示)最初の全件がHTML上では表示されています。
そもそも非同期で取得したデータはソース上は表示されないものなのでしょうか?(innerhtmlで記述)

初心者でわからないことだらけで申し訳ありません。
何かとっかかりがあればと思いますのでご教授下さい。

非同期でのページングのやり方など教えてもらえると助かります。

長々と書いてしまいましたがよろしくお願いいたします。

リロードしていないからjsが動かないのかと思うのですが

A 回答 (1件)

こんにちは




通常の「ページのソース表示」は、サーバから送られたHTMLのソースを表示します。
その後スクリプト等でDOMを変更しても、それは「ソース」ではないので、反映されることはありません。
実際に表示されているDOMの状態を知りたければ、スクリプトでinnerHTMLなどを取得して表示すれば見られます。
最近のブラウザであれば、デバッグツールが付属していると思いますので、そちらから参照するのが簡単ではないでしょうか?
(ツールのHTMLタブなどから参照できると思います)


実際の内容がわからないので、以下は、単なる推測にすぎませんが・・・

>一般的なJQeryのページングを使っているのですが~~
多分、ライブラリか何かを利用しているのではないかと推測します。
最初に初期設定を行っていると思いますが、設定がそのままなので、ajaxで内容が変わってもライブラリにとってはもとの状態のままと認識して、その後の処理ではエラーが発生していたりするのではないでしょうか?
対象データが変わった時点で、再度、初期設定をしてあげれば動作する可能性が高いと思います。


一方で、
>画面表示の時点でデータを全件表示しており~~
とのことなので、全件を一括読み込みしているのなら、検索といっても単に「絞り込む」だけでしょうから、わざわざajaxで通信処理などをしなくてもローカル側で直接絞り込めば(javascript利用)済みそうに思います。
データ件数分の表示/表示のフラグを持つだけで実現できそうなので・・・

利点としては、レスポンスが速くなるであろうことと、サーバ側の負荷が減ることぐらいでしょうか。
件数が膨大な場合はajaxが有効とは思いますが、その場合は、最初に全件読み込みは行わないであろうと思います。(膨大なので)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!