jQuery dataType指定為json的問題 – JAVA編程語言程序開發技術文章

溺水的魚


最近在看jQuery的API文檔,在使用到jQuery的ajax時,如果指定瞭dataType為json,老是不執行success回調,而是執行瞭error回調函數,極度鬱悶。後面改為1.2.6版本可以執行。


  然後繼續下載瞭幾個jquery版本,如1.3.2,1.4.0的,指定dataType為json都不能執行success回調,隻有小於1.3版本的才能執行success回調。


  最後去jquery的網站找到瞭在線的api文檔看瞭下,地址:http://api.jquery.com/jQuery.ajax/ ,發現dataType如下的說明
  ”json”: Evaluates the response as JSON and returns a JavaScript object. In jQuery 1.4 the JSON data is parsed in a strict manner; any malformed JSON is rejected and a parse error is thrown. (See json.org for more information on proper JSON formatting.)


  原來是jquery1.4版本以後對json格式要求非常嚴格瞭,要滿足json.org網站定義的格式才能執行success回調,否則都會出錯,無法解析返回的json數據。說的是1.4+以上的,那為什麼下載的1.3.2指定dataType為json時也不能執行success回調呢?


  怪不得不執行,原來我返回的是{success:true,id:1} 這種不規則的字符串,不是嚴格的json格式,改成{“success”:true,”id”:”1″} 就可以正常執行success回調瞭。
  
  JSON格式總結下,詳細的去json.org 查看。
  1)鍵名稱:用雙引號 括起
  2)字符串:用使用雙引號 括起
  3)數字,佈爾類型不需要 使用雙引號 括起


 

發佈留言