Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery mobile:URL查询字符串未更改_Url_Mobile_Jquery Mobile - Fatal编程技术网

jQuery mobile:URL查询字符串未更改

jQuery mobile:URL查询字符串未更改,url,mobile,jquery-mobile,Url,Mobile,Jquery Mobile,我在玩jQuery Mobile时遇到了一些(对我来说)奇怪的行为 我有一堆链接,每个链接指向同一个jQM页面,#otherpage,但是URL查询字符串的值不同,比如#otherpage?q=foo,#otherpage?q=bar,等等。对另一个页面的更改可以正常工作,但查询字符串在两次单击之间保持不变,因此,如果我首先单击指向#otherpage?q=foo,然后返回到第一个页面,则对#otherpage的所有后续页面更改都将具有q=foo,无论当前单击的链接的href如何表示 JSFID

我在玩jQuery Mobile时遇到了一些(对我来说)奇怪的行为

我有一堆链接,每个链接指向同一个jQM页面,
#otherpage
,但是URL查询字符串的值不同,比如
#otherpage?q=foo
#otherpage?q=bar
,等等。对另一个页面的更改可以正常工作,但查询字符串在两次单击之间保持不变,因此,如果我首先单击指向
#otherpage?q=foo
,然后返回到第一个页面,则对
#otherpage
的所有后续页面更改都将具有
q=foo
,无论当前单击的链接的href如何表示

JSFIDLE似乎不支持jQM,所以我在这里举了一个例子:

我在Mac上的Chrome和Safari中试过这个

我使用查询字符串在页面之间传递简单数据,因为我将其他代码连接到pagechange事件中,这或多或少不知道早期代码可能做了什么。如果我不能让它工作,我必须找到另一种方法来传递数据…:P

干杯


/Christofer默认情况下,jQuery Mobile不允许向内部链接的页面传递查询字符串参数。查看此文档页面的最底部(页面底部的第二个项目符号):

jQuery Mobile不支持将查询参数传递给 内部/嵌入式页面,但有两个插件可以添加到 您的项目将支持此功能。有一个轻量级的、功能更全面的用于backbone.js或spine.js


我一直在寻找这个问题,因为它看起来确实有点奇怪。关于这一点,有一个悬而未决的问题:

Atm jQuery Mobile不建议使用查询参数:

我们目前不支持将查询参数作为哈希的一部分 片段,尽管这是经常讨论的问题 内部,并在功能请求列表中

他们建议使用如下插件:


但是,由于DOM中活动页面的数据url确实发生了更改,因此有一种解决方法,您可以使用
$(“.ui page active”).attr(“数据url”)
我已经在你的网站上测试过了,它给了我所有3个uniques url

禁用jQm似乎是在浏览器中正确更新url参数的最简单解决方案。例如,在链接锚中添加
data ajax=“false”
,而不使用
$.mobile.changePage

<a href="#page?id=1" data-ajax="false">


在动态应用程序中,事先修改href的值。

感谢您抽出时间帮我找出这个值!我会尝试一下“数据url”。我知道这是一个老问题,但如果您仍然有问题,我最近创建了一个可能会帮助您解决的。