1.狀態碼返回200--代表服務器正常響應了客戶端的請求;ajax
2.經過firebug和IE的httpWatcher能夠看出服務器端返回了正常的數據,而且是符合業務邏輯的數據,但程序就是不進入回調函數success:function(data){****}而是進入到error: function(data){***},記得上次是由於存在跨域訪問的問題致使。此次查看不存在跨域的問題; json
3.返回的數據類型必定要符合定義的數據類型。即若是你定義的 dataType 是 json 類型的,那麼返回來的數據必定是 json 才能夠,否則就會執行 error 裏的程序;跨域
4.同時須要特別的注意返回的JSON數據是不是嚴格的JSON格式;服務器
5.也應該嚴重關切當後臺返回的是一個List 數據(List當中的數據是Json格式)時,有沒髒數據即不是嚴格的JSON格式。很隱蔽的多是數據某一個字段中在開始或末尾含有特殊字符,以"回車鍵"、"Tab鍵"等;函數
6.還有一點對JQuery 中ajax的一點其它的認識: 客戶端發起請求,獲得服務器端的相應是200(正確拿到服務器響應的數據)沒有問題.此時在判斷進入success 對應的回調函數仍是進入到error對應的回調函數以前,可能會校驗一些東西:回調函數
a.返回的每條數據是不是dataType中定義的數據類型。若是有部分數據不是或者哪怕一條數據沒有嚴格的按照dataType定義的類型,程序就會進入到error:function(){****};io
b.請求的域和當前域是不是同一域,若是不是同一域也十分有可能進入error:function(){***}。function
------------------------------------------------------------------------------------------------------------後臺
經過以上總結,再對照ajax看了一遍,發現少配了一個屬性(dataType屬性)由於數據類型返回的是json類型,而沒有配dataType:'json'這一屬性,因此致使出現了此問題。服務器端