- ベストアンサー
jqueryMobileはAjaxを使っているのか?
- jqueryMobileはAjaxを使ってサーバーと通信するのか気になります。
- jqueryMobileの解説でのAjaxの使用方法について疑問を抱いています。
- jqueryMobileはクライアントサイドでの表示切り替えだけでなく、サーバーとの通信も行っているのか知りたい。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
data-role=page のことなら仰るとおりです。 こちらでいくつか検索してみましたが、いろいろな記事にかかれている「ajax」とは、リンク先を読み込むケースのことを指していました。 その機能も、data-role=pageも、jQuery Mobileの代表機能で大変良く使われるものらしいので、一緒に使われたり並んで解説されていることが多いですが、別物です。
その他の回答 (3)
- b0a0a
- ベストアンサー率49% (156/313)
予め読み込ませておくことも出来るのかもしれませんが、 少なくともそのページのやり方と下のデモではリンクのURLをクリックされた時に読み込んでいます。 それと、XMLHttpRequestは名前の通り、そもそもXML(HTML)を取得するためのAPIなのでサーバー側に準備は要りません。
補足
もしかしたら僕がちょっと混同・勘違い(?)してるだけかもしれません 1.4で廃止されたnested Listviewのページ化について調べてるなかでしょっちゅう via ajax という表現を見かけたので、『nested Listviewのどこにajaxが関係あるの?全部ソース取得してるのに?DOM操作するだけだよね?』と疑問に思ったのですがその時はそれは本題ではないので飛ばし読みしていました。 (履歴に埋もれてちょっとたどれないのですが) 確認なのですが、jqueryMobileには同ドメイン内の別ファイルをAjaxで読み込んで利用する仕組みはあるが、nested Listeviewにしろ、一つのHTMLファイル内のdata-role="page"の要素を表示切り替えしてる間はAjaxは関係ないですよね?
- b0a0a
- ベストアンサー率49% (156/313)
付け加えると、内容は変わっていますが、ページは移動してはいません。 URLや履歴はpushStateで変えているだけです。 XMLHttpRequestで動的に取得してページを書き換えているだけなので、ajaxの定義に十分当てはまると思います。
補足
XMLHttpRequestの問い合わせ先はどこになるんでしょう?
- b0a0a
- ベストアンサー率49% (156/313)
>それともjqueryMobileは実際はクライアントサイドでの表示切り替えだけでなくサーバーとの通信を行ってるんでしょうか? そうです。 リンク先が同一ドメインの場合、クリックされた時にajaxで内容を取得し、内容をアニメーションで変えています。
補足
回答ありがとうございます。 だとするとわからないのが、サーバ側がjavascriptだけでどうやってAjax用のレスポンスを返しているのかってことです、サーバーサイドのjavascriptが書かれているのでしょうか? それに各ページのHTMLのソース自体はすでに取得されているのに、わざわざサーバーに問い合わせ直す意味もわかりません、firebagsで要素をみながらページ切り替えの様子をみてもやっぱりCSSが書かれる様子しか確認できません。
お礼
ありがとうございます、Ajax関係ないだろうというところでもしょっちゅうAjaxの単語を見かけた為に、もしかしてただのクライアントサイドでのDOM操作のこともAjaxと称することがあるのかとか疑問に思ってしまっていましたがどうやら早とちり、勘違いだったみたいですね