0

所以我正在$.ajax打电话并返回json数据。在所述数据中有一个名为状态的元素。我正在测试这个: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。我很难过有人能看到我看不到的东西吗?

4

1 回答 1

4

在您拥有的第一个 ajax 请求中,datatype它应该是dataType,所以data它只是一个字符串并且data.status未定义。

于 2012-08-01T20:03:52.880 回答