0

ajaxjquery関数に問題があります。これは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);
      }
    });
  }
});

オブジェクト「msg」に文字列「ok」がある場合でも、if(msg == "ok")がfalseを返す理由がわかりません。

4

1 に答える 1

0

I成功イベントは、次の 3 つのパラメーターを持つ関数を受け取ります
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 に答える