0

我在使用 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”。

4

1 回答 1

0

I成功事件接受一个带有三个参数的函数:
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);
        }
    }
});
于 2012-08-02T20:22:51.773 回答