1. 程式人生 > >$.ajax返回的JSON格式的資料後無法執行success的解決方法

$.ajax返回的JSON格式的資料後無法執行success的解決方法

近段時間做專案,在專案使用了ajax技術,遇到了一個奇怪的問題:"$.ajax返回的JSON格式的資料無法執行success",程式碼是這樣寫的:

複製程式碼
 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。以前沒有注意到這樣的問題,這次遇到了,也找到了解決辦法,在此記錄一下!

相關推薦

no