如何在调用done()或fail()之间选择它?

时间:2017-06-20 11:08:45

标签: jquery callback

我有一个脚本执行GET请求来验证管理员。 它调用python函数,该函数能够识别所提供的凭证是否有效,并分别返回带有200或401代码的HTTPResponse。 (return HttpResponse(status),其中状态已正确设置)

如果管理员是否经过身份验证,脚本只会显示“成功”或“失败”的警报,但即使我提供了错误的密码 - 并且python函数正确返回401代码 - 我得到“成功”警报,即它始终被称为done()回调。

你能解释一下这种行为吗?如果必须调用done()fail()回调,脚本如何区分?

编辑:

function logIn(){
var my_url="/admn/log/"+$("#password_field").val();
$.ajax({
type: "GET",
url: my_url
}).done(function(data) {
alert("Success!")
}).fail(function(data){
alert("Error!");
});
if pbkdf2_sha256.verify(kwargs["pwd"],expected_hash) == True:
#success
msg='Admin authenticated'
status=200 #Http success ok
else:
#failure   
msg='Authentication failed. Please check the password'
status=401 #Http client error unauthorized
credentials_file.close()
return HttpResponse(msg, status) 

0 个答案:

没有答案