2013-06-23 99 views
0

我使用$ .post()方法进行AJAX调用,并想知道如何检查返回值是否为空。

这是代码:

$.post(site_url, function(data) { 
    if(!data) { 
     alert('Nope'); 
    } else { 
     alert('Yay'); 
    } 
}); 

但是,这是行不通的。我也尝试过检查,如果该对象为空或==“”,但仍然没有效果..

编辑

data.length所做的工作!谢谢,伙计们

+2

是什么让你说它是空的? – Blender

+0

这取决于你得到的数据。但大多数情况下,检查'null'或检查'length'会溢出beans – krishgopinath

+1

使用空字符串或请求的空结果不是一个好习惯。你应该总是有一个明确的结果。例如,如果没有结果,你可以有一个空数组,然后检查JS中的长度。 –

回答

0

你可以试试这个

typeof(data.responseText) === null 
0

试试这个:

$.post(site_url, function(data) { 
     if(!empty(data)) { 
     alert('Yay'); 
     } else { 
     alert('Nope'); 
     } 
    }); 
+0

什么是'empty()'? – zerkms

+0

'!empty'表示不为空 –

1

试试这个。

$.post(site_url, function(data,status) { 
    alert("Status="+status); 
}); 

这将显示Ajax请求的状态( “成功”, “notmodified”, “错误”, “超时” 或 “parsererror”)

0

试试这个:

如果与ajax响应字符串比较失败,然后尝试在ajax响应中发送数值并进行比较。

**demo.php** 
<php 
$temp = some_function(); 
//If the function returns null then send 1, else the value returned 
if(temp!='') 
    echo 1; 
else 
    echo $temp; 
?> 

$.post(demo.php, function(data) { 
if (data != 1) 
{ 
    alert('null'); 
} 
else 
{ 
    alert(data); 
} 
});