正如你所看到的,我从我的ajax调用中检索JSON数据,但是如果数据库找不到任何东西,它将返回打印值null
。
e.g.
print "null";
,你可以用case 1我问它看它是否找不到obj.id
则表明这一点。
但是,由于没有JSON被返回,它应该是if(data == "null")
然而,当我这样做时它似乎工作。
我基本上需要注意它找不到它,并停止脚本。
这里是我的jQuery代码。
function fetch(e,formstring)
{
$.ajax({
type: 'POST',
url: 'system/classes/core.php',
data: formstring,
dataType: 'json',
contentType: "application/x-www-form-urlencoded;charset=utf-8",
success: function(data){
$.each(data, function(i, obj) {
switch (e) {
case 1:
if(!obj.id)
{
shownotify(1,"Sorry An error was found. Check Username/Password.");
alert("error");
shownotify(2,"");
return false;
}
$.each(obj, function(key, val) {
alert(key+" - "+val);
});
break;
case 2:
$.each(obj, function(key, val) {
if(val != 0)
{
$("#betataken").html("<span style='color:red'><b>"+betacode+"</b> - NOT VALID");
}
else
{
$("#betataken").html('<img src="theme/sysimages/tick.png"/><span style=" color: white;"><b>'+betacode+'</b> is valid</span');
}
});
break;
case 3:
$.each(obj, function(key, val) {
if(val != 0)
{
$("#usernametaken").html("<span style='color:red'><b>"+username+"</b> - is taken");
}
else
{
$("#usernametaken").html('<img src="theme/sysimages/tick.png"/><span style=" color: white;"><b>'+username+'</b> is valid</span');
}
unamecheck = val;
});
break;
case 4:
//LoginSript
$('#rightheader').html(obj.code);
break;
case 5:
//WelcomePage/Signup
$('#window').html(obj.code);
break;
}
});
},
error: function(data){
$.each(data,function(i,myinfo){
alert(i);
});
},
complete: function(){
shownotify(2,"");
}
});
return false;
}
虽然添加案例可能会解决您的问题。从服务器发送一个错误并声明一个'error:function(){}'来处理它不是一个更好的做法 – frictionlesspulley