gpt4 book ai didi

jquery - 如何让 Chrome 记住 AJAX 表单的密码?

转载 作者:行者123 更新时间:2023-12-03 21:39:02 25 4
gpt4 key购买 nike

我在登录页面上使用 AJAX 进行快速输入验证。如果一切正确,用户将被重定向。

代码如下:

$(form).submit(function () {
$.post($(this).attr('action'), $(this).serialize(), function (data) {
if (data.status == 'SUCCESS') {
window.location = data.redirectUrl;
}
}
...

它在所有浏览器中都运行良好。但 Chrome 有一个问题。它不提供保存密码的功能。

当 JavaScript 关闭时,密码会被保存,因此问题肯定是重定向到新位置。

我该如何解决这个问题?

最佳答案

我找到了解决此问题的一个肮脏的解决方法,即插入一个不可见的 iframe 并将表单定位到它:

<iframe src="/blank.html" id="loginTarget" name="loginTarget" style="display:none">
</iframe>

<form id="loginForm" action="/blank.html" method="post" target="loginTarget"></form>

对应的JavaScript:

$('#loginForm').submit(function () {
$.post('/login', $(this).serialize(), function (data) {
if (data.status == 'SUCCESS') {
window.location = data.redirectUrl;
}
})
})

问题在于,实际上提出了两个请求。首先,表单被提交到/blank.html,这将被服务器忽略,但这会触发 Chrome 中的密码保存对话框。此外,我们发出 ajax 请求并将真实表单提交到/login。由于第一个请求的目标是不可见的 iframe,因此页面不会刷新。

如果您不想重定向到另一个页面,这当然更有用。如果您想重定向,更改操作属性是一个更好的解决方案。

编辑:

这是一个简单的 JSFiddle它的版本。与评论部分中的说法相反,不需要重新加载页面,而且它似乎工作非常可靠。我在带有 Chrome 的 Win XP 和带有 Chromium 的 Linux 上测试了它。

关于jquery - 如何让 Chrome 记住 AJAX 表单的密码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5430129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com