Ответ 1
Я мог бы исправить это как ниже.
$(document).ready(function(){
$("#cmdLogin").click(function(){
var request = $.ajax({
url : hostURL + 'j_teo_security_check',
data: ({j_username : $("#inp_user_name").val(), j_password: $("#inp_user_pwd").val()}),
dataType : "jsonp",
timeout : 5000
});
request.success(function() {
loginSuccess();
});
request.error(function(httpObj, textStatus) {
if(httpObj.status==200)
loginSuccess();
else
loginFail();
});
});
})
То, что я сделал, было добавлено к тайм-ауту, так как ошибка 401 никогда не возвращалась. Поскольку он переходит в функцию ошибки даже с кодом состояния 200 и ошибками синтаксического анализа, я заставил его игнорировать статус 200 внутри ошибки.