如何解决jQuery:在成功登录ajax时继续自定义单击事件
| 我有一组点击事件链接(添加到愿望清单)。 click事件检查用户是否已登录(ajax请求),并根据结果继续单击。在用户未登录的情况下,我有一个通用的jQuery UI模式对话框,用户可以使用该对话框登录。 一切正常,但是我想扩展功能,以便用户在使用对话框登录后可以继续单击链接。 即。单击添加到收藏夹->已登录? 是->继续点击链接(添加到愿望清单) 否->显示登录对话框-> 用户提交凭证->已登录? 是=>继续点击链接(添加到 愿望清单) 否=>显示登录错误 当然,我不想通过ajax和jquery进行任何回发。 谢谢解决方法
您可以将click操作的url传递给登录模式,并在成功登录后重定向。
或者,如果将其设置为通过AJAX登录,则可以存储click事件目标,然后在成功登录后触发click事件。
类似于以下内容:
var is_logged_in = false;
$(\'a.add_to_wishlist\').click(function(e) {
if(is_logged_in) {
//do stuff
} else {
show_modal(e.target); //pass the event target to the modal
}
});
function show_modal(trigger) {
//do stuff
is_logged_in = true;
$(trigger).trigger(\'click\');
}
希望这会有所帮助。
, 如果您控制服务器端代码,则应在同一请求中放置身份验证+保存到愿望清单。
用户点击添加到愿望清单
将页面添加到愿望清单的Ajax请求发送到服务器。
服务器检查用户是否已登录。
如果用户已登录:将项目保存到愿望清单并返回成功响应。
如果用户未登录:返回失败的响应。
ajax响应回调应基于响应更新UI。
如果您不受服务器代码的控制,那么如果身份验证请求成功,则必须发出两个ajax请求。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。