ajax成功响应问题
我遇到了ajax jquery函数的问题。这是可能的javascript代码: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 (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);
}
});
}
});
我不明白为什么,如果(MSG ==“确定”)返回false,即使在对象“味精”有一个字符串“OK”。
IThe成功事件需要具有三个参数的功能:data, textStatus, andjqXHR
。我假设“ok”是由login.php给出的响应,在这种情况下,这将是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);
}
}
});
我试过你的代码,但它不工作。即使“msg”对象包含一个字符串,并且这个字符串实际上是“ok”(我已经看到它使用Firebug),它总是返回false。它很棒在另一个项目中,相同的文件login.php和脚本jQuery的工作!! Somone可以帮助我?谢谢! – 2012-08-02 20:58:59
'data'的实际值是多少?这可能会帮助你弄清楚发生了什么事。 – 2012-08-02 22:49:17
数据的实际值为“ok” – 2012-08-03 11:53:55
哪里'msg'从何而来? – 2012-08-02 20:12:25
为什么ajaxcomplete在成功处理函数里面? – Shyju 2012-08-02 20:13:43
继承人雅的http://jsbeautifier.org/不错的链接。理解你越是在你的问题上工作,越多的人将在答案上工作...... – elclanrs 2012-08-02 20:14:13