使用 $.post 对用户进行身份验证以返回自定义错误/成功消息
Using $.post to authenticate user to return custom error / success message
我有这个jQuery来验证用户进入站点,我如何对登录返回的成功/错误进行两个操作.php?是否可以在成功时刷新页面(例如)并在登录信息未成功时发布错误消息.php。我希望我的问题很清楚。这是代码。现在它只是粘贴登录的数据输出.php我不知道如何分离返回服务器端的成功/错误。
$("#form-login").submit(function(event) {
event.preventDefault();
var $form = $( this ),
log = $form.find( 'input[name="log"]' ).val(),
pwd = $form.find( 'input[name="pwd"]' ).val(),
rememberme = $form.find( 'input[name="rememberme"]' ).val();
$.post( '/ajax/login.php', { log: log, pwd: pwd, rememberme: rememberme },
function(data) {
$(".form-login-status").html(data);
}
);
});
在服务器端脚本中,返回状态和消息,如下所示:
$result = array();
if (login_is_successful()) {
$result['status'] = true;
$result['message'] = "Logged in";
} else {
$result['status'] = false;
$result['message'] = 'Incorrect password';
}
echo json_encode($result);
这使您可以灵活地从服务器端发送任何响应消息,而无需在客户端代码中专门处理它。明天,如果您想分别发送消息"用户名不正确"和"密码不正确",只要$result['status']
保持false
,您就可以在不对 JS 进行任何更改的情况下执行此操作。
然后在$.post
的成功处理程序中,执行以下操作:
success : function(resp) {
if (resp.status) {
//user logged in
//refresh page
window.location.reload();
} else {
//failed authentication
alert(resp.message);
}
}
确保设置dataType: 'json'
重要提示:
如果身份验证失败,将不会调用$.post
中的 erorr 处理程序,因此您必须在成功处理程序中检查失败的身份验证。
仅当发出 POST 请求时出错时,才会调用错误处理程序。
当然,它在文档中:
$.post("example.php", {}, function() {
alert("success");
})
.success(function() { alert("second success"); })
.error(function() { alert("error"); })
.complete(function() { alert("complete"); });
在"成功"处理程序中,您需要处理请求的 URI 返回的标志,该标志说明凭据是否对用户进行身份验证。您需要基于该逻辑对逻辑进行分支。
相关文章:
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- 自定义验证并格式化从数据数据库返回的响应-BEGINNER
- Google Sheet自定义函数返回0
- 从谷歌自定义搜索返回随机帖子
- $.width()在使用自定义字体时返回不同的结果
- 使用谷歌地图:一个返回undefined的自定义javascript函数
- 续集返回未定义的模型自定义方法
- ASP.net自定义控件,下拉值必须在服务器端填充,所选值在返回时丢失
- 从自定义函数返回promise
- 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好
- 自定义查询字符串分析器返回不正确的结果
- JavaScript自定义函数返回意外值
- 自定义Div滑块运行过快,但仅当从另一个浏览器选项卡返回时
- Angular 不返回我的自定义 JSON 文件
- Appcelerator 中的自定义选项卡栏 - 如何返回到根窗口
- 创建返回对象的自定义角度筛选器
- 自定义函数返回正确的结果,并且未定义.为什么
- 如何在自定义模式对话框中加载通过 AJAX 调用返回的 JSON 数据
- HTML 自定义属性在 Jquery 中始终返回 undefined
- 如何自定义返回的 jQuery UI 自动完成列表