我遇到了ajax jquery函数的问题。这可能是javascript代码:
$.ajax({
type: "POST",
url: "login.php",
data: {
username: username,
password: password
},
dataType: "text",
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
success: function (msg) {
$("#button").ajaxComplete(function (event, request) {
alert(msg == 'ok');
if (msg == 'ok') {
$('#load').show();
setTimeout(function () {
$("#username").css("background", "green");
$("#password").css("background", "green"); // add red color
}, 1000)
setTimeout("submitForm()", 2000);
} else {
$('#load').show();
setTimeout(function () {
$("#username").css("background", "red");
$("#password").css("background", "red"); // add red color
$('#load').hide();
$('#button').show();
}, 1000);
}
});
}
});
我不明白为什么if(msg ==“ok”)返回false,即使在对象“msg”中有一个字符串“ok”。
答案 0 :(得分:0)
成功事件采用三个参数的函数:
data, textStatus, andjqXHR
。我假设“ok”是login.php给出的响应,在这种情况下,这就是data
参数的值。因此,请检查data参数中的OK值。
您可能只想alert(data);
,看看究竟要返回什么。
请参阅:http://api.jquery.com/jQuery.ajax/
$.ajax({
type: "POST",
url: "login.php",
data: {
username: username,
password: password
},
dataType: "text",
contentType: "application/x-www-form-urlencoded;charset=ISO-8859-15",
success: function(data, textStatus, jqXHR) {
alert(data == 'ok');
if (data == 'ok') {
$('#load').show();
setTimeout(function () {
$("#username").css("background", "green");
$("#password").css("background", "green"); // add red color
}, 1000)
setTimeout("submitForm()", 2000);
} else {
$('#load').show();
setTimeout(function () {
$("#username").css("background", "red");
$("#password").css("background", "red"); // add red color
$('#load').hide();
$('#button').show();
}, 1000);
}
}
});