所以我正在进行$.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);
}
});
输出控制台中的我得到1
和8
。我很难过,有人能看到我不能做的事情吗?
答案 0 :(得分:4)
在第一个ajax请求中,您datatype
应为dataType
,因此data
只是一个字符串而data.status
未定义。