jquery - 从服务器重定向后页面需要刷新

标签 jquery node.js express

新问题,但非常接近 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/

相关文章:

jQuery 标题在用 div 制作的表中排序

javascript - 如何避免 - 使用 Cheerio 进行网页抓取时出现错误 403

node.js - 如果同一用户从不同的浏览器或计算机登录,则强制注销。 Node.js + Express + Socket.IO

javascript - Node.js 解析 fs.readFile() 时出现意外的数字转换

node.js - Angular 不显示创建的对象,直到我刷新页面

node.js - Async/await with Express 返回 Promise { <pending> }

jquery - GET 请求在窗口滚动时触发两次

javascript - GET 表单 php/Ajax 的问题

javascript - 使用 jquery 或 javascript 将逗号添加到禁用字段

javascript - Route.get() 需要一个回调函数,但得到了一个 [object Undefined]。我做错了什么?