新问题,但非常接近 need to refresh page in jquery mobile .
我有一个/login 页面,用户首次访问应用程序的/时会被重定向到该页面(因此未登录)。顺便说一句,要登录,用户只需提供用户名。此/login 页面提供了一个带有单个文本输入的表单,如下所示:
<form method="post">
<span>Votre pseudo:</span>
<input id="username" name="username" data-bind="value: username, valueUpdate: 'afterkeydown'" />
<input type="submit" id="join" data-icon="star" value="Rejoindre !" data-bind="enable : canJoin"/>
</form>
表单上没有操作属性,因此(除非我缺少一些基础知识,希望不会)表单将通过 post 提交到/login。
我使用 NodeJS 和 Express,处理 post 请求服务器端如下所示:
app.post("/login", function (req, res) {
//do some stuff, store username for instance...
res.redirect("/");
});
我确实被重定向到/匹配页面(索引),但是该索引页面中的嵌入脚本未运行,并且某些 jquerymobile 对象未完全运行:该索引文件有 2 个 JQM 页面(两个带有 data-role="page"的 div),第一个 JQM 页面(div)的页脚有 2 个链接,其中一个链接指向第二个页面(div)(通过 anchor ,JQM 方式)。但此链接也未激活。
我必须重新加载/页面才能运行嵌入脚本($(document).ready, header 中的脚本...)并且所有 JQM 对象都能正确响应。
提示:在重新加载页面之前,在 Firebug 中,post/login 请求的响应具有 302 状态(是否由于重定向指令服务器端),并且以下 get/请求(肯定是由于重定向指令服务器端)具有 200 状态的 EMPTY 响应,尽管它可以加载页面及其嵌入的单个图像。
我肯定错过了一些东西,但无法弄清楚...... 感谢您的帮助
最佳答案
简单的解决方案是在页面上的任何链接上使用 data-ajax="false"
这告诉 jquery mobile 像任何普通网站一样加载整个页面。
示例:
<a data-ajax="false" href="page.html"> Some link </a>
关于jquery - 从服务器重定向后页面需要刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141213/