2013-06-23 59 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); 
} 
});