如何从Safari keychain autofill调用ajax response()方法到服务器?

问题描述 投票:0回答:1

我们有基于Wicket的Java-EE应用程序。

问题是,当你想用Safari的keychain提示自动填充用户名和密码时,服务器无法注册用户名,因为带钥匙串的Safari不会发送Ajax回调,哪个服务器需要用ajax方法捕获:

/**
     * @param target
     *            The AJAX target
     */
    protected abstract void respond(AjaxRequestTarget target);  

当从Apple密钥链填写时,该组件的textfield或javascript的html代码应该如何发送ajax回调?

谢谢你的回答。

javascript java macos safari wicket
1个回答
2
投票

我猜你有一个HTML表单,其中包含用户名的文本输入字段,密码的密码字段和提交表单的(ajax?!)按钮。

只要用户名和密码字段被Safari自动填充功能填充,您就需要触发按钮的单击监听器。

如果Safari在填充之后触发事件,则JS代码将类似于:

$('#passwordId').on('change', function(evt) {
   if ($('#usernameId').value() && $('#passwordId').value()) {
       $('#buttonId').click();
   }
});

上面我假设Safari在自动填写密码字段后触发change事件。然后,如果用户名和密码字段都是非空的,我单击按钮。这将导致此按钮的正常行为,即它将对服务器进行(Ajax)调用,Wicket将完成剩下的工作。

© www.soinside.com 2019 - 2024. All rights reserved.