在我的应用程序中,我使用ajax登录,返回JSON结果。
如果成功,那么它将返回:
{"authenticated":true,"redirect":"/posts/new"}
如果失败那么:
{"authenticated":false,"error":"Username or password is incorrect"}
我想要做的是在我的ajax中成功回调是检查什么是身份验证,如果它是真的然后做一件事,如果它是假的,那么做另一件事:
success: function (responseHtml)
{
if(SUCCESS IS TRUE)
{
window.location.href('REDIRECT');
}
else
{
alert('ERROR MESSAGE');
}
console.log(responseHtml);
}
任何人都可以帮助我吗?我看过getJSON的东西,但不知道如何在这里使用它。感谢
更新:完整代码
$('form').live('submit', function (event) {
var form = $(this);
event.preventDefault();
var data = form.serialize();
$('<div id="loading">Loading...</div>').appendTo('#li-submit').hide();
$('#loading').fadeIn();
$.ajax({
type: form.attr('method'),
url: form.attr('action'),
data: data,
success: function (response)
{
$('#loading').fadeOut(function() { $(this).remove(); });
if(response.authenticated)
{
window.location.href('url');
}
else
{
alert(response.error);
}
},
error: function (jqXHR, textStatus, errorThrown)
{
$('#loading').fadeOut(function() { $(this).remove(); });
alert('Error!');
}
});
});
答案 0 :(得分:2)
success: function(response) {
if(response.authenticated) {
window.location.href('url');
} else {
alert('error');
}
}
您应确保将AJAX配置对象的'dataType'属性设置为“json”或未设置(默认为自动检测)。
答案 1 :(得分:0)
// if response is already json as you said
success: function (response) {
if(response && response.authenticated) {
window.location = response.redirect;
} else {
alert('ERROR MESSAGE');
}
console.log(response);
}