2011-12-08 29 views
1

當成功函數的結果爲「null」時,消息仍然顯示「有價值」。成功函數的結果bug在Jquery ajax中爲「null」

任何人都可以幫助我,非常感謝!

$(document).ready(function() { 
    setInterval(function() { 
     $.ajax({ 
      url: "getData.php", 
      success: function (result) { 
       if (result.length == 0) { 
        $("#rlt").append("no value"); 
       } else { 
        $("#rlt").append("have value"); 
       } 
      }, 
      dataType: "json" 
     }); 
    }, 2000); 
}); 

<p id="rlt"></p> 
+0

您是否嘗試在console.log(result.length)之前添加如果要查看結果長度真的是什麼?如果您對console.log不熟悉,您會在Chrome的檢查控制檯中看到輸出結果,或者如果使用Firefox,則會在Firebug的控制檯中看到它。 – mason81

+0

另外,如果您可以發佈請求中的結果示例,那麼也可能會有所幫助。我們無法訪問「getData.php」,因此我們無法爲您測試。 – mason81

回答

2

取而代之的是價值null的,你可能會發送串"null",它不會有一個零長度:

檢驗字符串本身。

if (result === "null") { 
    $("#rlt").append("no value"); 
} else { 
    $("#rlt").append("have value"); 
} 

如果你期待在應對實際null值,那麼你就不會想使用.length,因爲你會得到一個TypeError


順便說一句,我不認爲一個獨立的"null"null是有效的JSON,但本地解析器似乎並不介意。