if语句未正确评估

时间:2012-08-01 19:56:43

标签: php javascript jquery ajax if-statement

所以我正在进行$.ajax调用并返回json数据。在所述数据中有一个名为status的元素。我正在测试这个:if(data.status === "success"){ ..do something..}。我知道来自json调用的$.ajax数据实际上是"success"(我从chrome中的开发人员工具知道php脚本正在返回{status: success})但是没有任何内容正在评估if语句。如果我在if语句中添加一个else语句,那么该代码将被评估。这是我的代码:

$.ajax({
    type: "POST",
    url: "./php/checkuser.php",
    datatype: "json",
    success: function(data){
      console.log(1);
      if(data.status === "success"){
        console.log(2);
        $.get("./mainmenu.html", function(html){
          $("#content").html(html);
          console.log(3);
        });
        $.ajax({
          type:"POST",
          url:"./php/loaduserdata.php",
          dataType:"json",
          success:function(data){
            console.log(4);
            if(data.status === "success"){
              console.log(5);
              var lastlevel = data.lastlevel;
              if(lastlevel === 0){
                console.log(6);
                $("#continue-wrapper").removeClass("enabled").addClass("disabled");
                $('<img />').attr('src', "./images/menuitem_continue-disabled.png").attr('id', "continue").attr('alt', "Continue").load(function(){
                  $("#continue-wrapper").html($(this));
                });
              } else {
                console.log(7);
                $("#continue-wrapper").removeClass("disabled").addClass("enabled");
                $('<img />').attr('src', "./images/menuitem_continue-enabled.png").attr('id', "continue").attr('alt', "Continue").load(function(){
                  $("#continue-wrapper").html($(this));
                });
              }
            }
          }
        });
      } else {
        console.log(8);
      }
    }, 
    error: function(thrownError){
      console.log(thrownError);
    }
  });
输出控制台中的

我得到18。我很难过,有人能看到我不能做的事情吗?

1 个答案:

答案 0 :(得分:4)

在第一个ajax请求中,您datatype应为dataType,因此data只是一个字符串而data.status未定义。