ajax成功回应问题

时间:2012-08-02 20:10:47

标签: jquery

我遇到了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”。

1 个答案:

答案 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);
        }
    }
});