2012-04-22 39 views
0

我正在通过制作一个基本的移动应用程序来试验JQuery Mobile,但我遇到了将参数传递给其他页面的问题,无论是将HTML文件还是其他数据内容:页面原始文件。Jquery Mobile:传递参数

我想要做的就是从下拉列表中选择一个用户名,按一个按钮,然后进入下一页,将用户名放在标题中(例如,以用户名登录)。我研究过多种解决方案,例如sessionStorage,PHP会话,从表单提交发布的POST/GET,并且它们都不起作用。

最接近我想要的是通过POST提交用户名通过表单,然后将其保存为PHP会话变量,它显示下一页上的用户名,但是当我导航到另一个页面时再次无法显示。

向前传递参数的最简单方法是什么?我怀疑它不能在额外的页面上工作,因为JQuery Mobile的加载方法不包括头部的session_start()...

+0

对于单页应用程序,只需将其保存在JavaScript变量中即可。对于多页面应用程序,可以通过服务器运行它,或将其放入localStorage中。 – Barend 2012-04-22 11:06:19

+0

这应该为你解决。 jQuery Mobile对服务器端脚本没有影响,如PHP脚本。在将数据输出到浏览器之前,PHP总是**运行,因此被称为*服务器端*语言。 – Jasper 2012-04-22 16:27:02

+0

这就是说,我建议使用PHP会话来为用户存储数据。你将不得不通过AJAX轮询你的服务器来从服务器加载数据,但其他方法真的是CPU密集型(即sessionStorage和localStorage,读/写时间很可怕)。在jQuery Mobile网站中,所有页面都添加到同一个DOM中,因此您可以实际将变量保存到DOM(通过JS)并在不同的页面上访问这些变量,但页面刷新时会将其删除(使PHP会话存储更持久)。 – Jasper 2012-04-22 16:28:10

回答

1

我在jquerymobile中也有php $_SESSION问题,这里有4页

  1. 提交表单,保存会话
  2. 启动会话,显示正确,请点击链接
  3. 启动会话,没有显示,请点击链接
  4. 启动会话,没有显示

但是这一切都与Internet Explorer 10

WORKS我已经做了一些试验用我自己的程序,使用$_COOKIE代替$_SESSION。现在它可以在每个浏览器中使用jquerymobile正确运行