2012-04-22 1 views
0

私は基本的なモバイルアプリケーションを作ってJQuery Mobileを実験していますが、HTMLファイルや追加のデータコンテンツを別々のページに渡すという問題に遭遇しました。元のファイルJquery Mobile:パラメータを渡す

私がしたいのは、ドロップダウンリストからユーザー名を選択し、ボタンを押してから、次のページに進み、ユーザー名をヘッダーに入れます(ログイン名:ユーザー名など)。私は、sessionStorage、PHPセッション、フォーム提出からのPOST/GETなどの複数のソリューションを調べましたが、いずれも機能していないようです。

私が欲しいのは、ユーザー名をPOST経由でフォームに送信し、それをPHPセッション変数として保存し、次のページにユーザー名を表示することですが、別のページに移動すると再び表示に失敗します。

パラメータを転送する最も簡単な方法は何ですか?私はそれがヘッダからのsession_start除くjQueryのモバイルのロード方法()による追加ページでは動作しないという疑いを持っている...

+0

1ページのアプリケーションでは、JavaScript変数に保存してください。複数ページのアプリケーションの場合は、サーバー経由で実行するか、localStorageに配置します。 – Barend

+0

これはあなたのためにクリアする必要があります。 jQuery Mobileは、PHPスクリプトのようなサーバー側のスクリプトには影響しません。 PHPはブラウザにデータを出力する前に必ず**実行される*ため、*サーバーサイド*言語と呼ばれます。 – Jasper

+0

つまり、PHPセッションを使用してユーザーのデータを格納することをお勧めします。サーバーからデータをロードするには、サーバーをAJAXでポーリングする必要がありますが、他の方法はかなりCPUを要します(つまり、sessionStorageとlocalStorage、読み取り/書き込み時間はひどいです)。 jQuery MobileのWebサイトでは、すべてのページが同じDOMに追加されるため、実際にJSを使用してDOMに変数を保存し、別のページにアクセスできるようになりますが、ページが更新されると消去されます(PHPセッションストレージはより永続的です)。 – Jasper

答えて

1

私もjquerymobileにPHP $_SESSIONに問題があり、ここで私は、4ページを持っています

  1. を表示するためには何も、フォームを送信していない
  2. にセッションで開始セッションを保存し、正しく表示、リンク
  3. 開始セッションをクリックし、表示するためには何も、リンク
  4. 開始セッションをクリックしてください

しかし、それはすべての私はすでに自分のプログラムでいくつかのテストをしたInternet Explorerの10

で動作しますが、$_COOKIE代わりの$_SESSION使用します。今はjquerymobileですべてのブラウザで正常に動作します

関連する問題