2011-04-19 151 views
0

嗨嗨在我的ajax函數上使用json檢索數據時出現此錯誤。它不會返回任何數據。這裏是我的代碼如下我的jQuery ajax json函數的錯誤,不會返回數據

$.ajax({ 
    url: "php/getCategory.php?action=getyear", 
    cache: false, 
    dataType: "json", 
    success: function(data){ 
    $.each(data.items, function(i,item){ 
     $("#catYear").append('<option value="'+item.id+'">'+item.name+'</option>'); 
    }); 
    } 
}); 

當我嘗試刪除dataType:「json」它將傳入成功:函數。我認爲問題出在我的json上。我也迴應我的getCategory.php的輸出,我認爲他們沒有問題。以下是我的php json_encode的輸出。

{items:[{"id":"1","name":"2010"},{"id":"2","name":"2011"}]} 

謝謝!

+0

是PHP用JSON頭輸出? – dotty 2011-04-19 07:57:01

+0

@dotty ...你是什麼意思,對不起,即時新的這個..你可以給我例子。謝謝! – andsien 2011-04-19 07:58:52

+0

@dotty ...我使用json_encode。我認爲沒有必要把它放在我的標題上。我對麼? – andsien 2011-04-19 08:02:08

回答

1

從jQuery的文檔:

重要:對於jQuery 1.4,如果JSON文件包含語法錯誤,請求通常會失敗默默。出於這個原因避免頻繁手動編輯JSON數據。 JSON是一種數據交換格式,其語法規則比JavaScript的對象字面表示法更嚴格。例如,以JSON表示的所有字符串,不管它們是屬性還是值,都必須用雙引號括起來。有關JSON格式的詳細信息,請參見http://json.org/

所以怨婦JSON字符串有未用雙引號嘗試類似的東西元素項:

{"items":[{"id":"1","name":"2010"},{"id":"2","name":"2011"}]} 
+0

非常感謝firegnom ...現在我可以前進... – andsien 2011-04-19 08:14:02

+0

這就是爲什麼這是我第一次遇到這個問題。我以前版本的jquery是1.3+。這是我第一次換成1.4。 – andsien 2011-04-19 08:16:07

+1

我很高興提供幫助 – firegnom 2011-04-19 08:18:01