我正在使用护照来注册用户。在注册用户之前,还必须回答一些问题,这些问题可以保存到他们的个人资答案存储在Vars中。
我的问题是,如果用户在提交表单时遇到问题(例如:使用用户名)页面重定向回来,问题中的数据将丢失。在重定向到任何地方之前,我将如何检查以确保表单是否良好?
我尝试过这个但是到目前为止我无法做到我需要做的事情:
$(function() {
$("#checkForm").on("submit", function(e) {
e.preventDefault();
$.ajax({
url: $(this).attr("action"),
type: 'POST',
data: $(this).serialize(),
beforeSend: function() {
alert('do something to check form?')
},
success: function(data) {
alert('Form is good now register user?')
$("#message").hide();
$("#response").html(data);
}
});
});
});
答案 0 :(得分:1)
您可以从服务器发送json响应,以检查是否存在任何错误。 示例json响应
{error: true, message: 'User already exists'}
{error: false, message:'Account created successfully'}
然后在ajax中你可以添加
dataType:'json'
然后成功消息检查响应
if(response.error){}else{}
答案 1 :(得分:0)
将用户答案存储在本地存储中。注册成功后,清除存储并重定向到下一页。失败后重定向回到表单页面(检查本地存储中是否存在用户答案)并填写用户答案。
Passport端点示例:
app.post('/form', passport.authenticate('local', { successRedirect: '/',
failureRedirect: '/form' }));
不重定向:
创建用户搜索端点。在表单提交之前调用它。