$.ajax返回的JSON格式的數據後沒法執行success的解決方法

  近段時間作項目,在項目使用了ajax技術,遇到了一個奇怪的問題:"$.ajax返回的JSON格式的數據沒法執行success",代碼是這樣寫的:jquery

 1 $.ajax({ 
 2 .. 
 3 dataType:'json', 
 4 ... 
 5 success:function(jsonData){ 
 6 //不執行success 
 7 }, 
 8 error:function(error){ 
 9 //老是執行這個error 
10 } 
11 });

  百思不得其解啊,爲何會這樣子呢?檢查了一下返回的JSON字符串,我以爲JSON字符串的格式應該沒有問題的,因而在網上查了一下,發現有還真有人遇到了和我同樣的問題,找出緣由所在"是由於我指定了dataType:'json',這樣指定以後,對Json格式的要求就很是嚴格起來了,起初個人json格式是這樣寫的:"{result:{\"success\":\"true\",\"meg\":\"success\"}}",可這樣寫不行,得改爲這樣寫:"{\"success\":true,\"mesg\":\"success\"}",若是說是bool類型,則不用加引號,其它的鍵/值都須要加引號。jquery 1.4之後對json格式變嚴格了,也就是說必需要這種格式的{"鍵":"值","鍵":"值"};像原來的{鍵:值,鍵:值}和{'鍵':'值','鍵':'值'}這種都是錯誤的,不合標準,因此jquery返回error。之前沒有注意到這樣的問題,此次遇到了,也找到了解決辦法,在此記錄一下!ajax

相關文章
相關標籤/搜索