2011-08-14 48 views
1

這裏是我的JSON從PHP文件返回(就像一個方面說明,我可以使用一個):JSON的問題 - 隨着陣列

// JSON選項#1:

[{「場「:」title_of_production_row「,」required「:」1「} {」field「:」where_released_row「,」required「:」1「} {」field「:」release_date_row「,」required「:」1「} {字段「:」running_time_row「,」required「:」1「} {」field「:」accepting_award_row「,」required「:」1「} {」field「:」contact_name_row「,」required「:」1「 「field」:「promocode_row」,「required」:「0」} {「field」:「payment_method_row」,「required」:「1」} {「field」:「tbl_submit」,「required」:「0」} {「field」:「production_company_row」,「required」:「1」}]

// JSON選項#2: {「title_of_production_row」:「1」,「where_released_row」:「1」,「release_date_row」:「1」,「running_time_row」:「1」,「accepting_award_row」 ,「contact_name_row」:「1」,「promocode_row」:「0」,「payment_method_row」:「1」,「tbl_submit」:「0」,「production_company_row」:「1」}

我想循環每個領域和需要,並提醒他們。我試過這樣的東西:

$.ajax({ 
     url: './ajax/get_cat_info.php?cid=' + cid, 
     dataType: "jason", 
     async: false, 
     success: function(html) { 
      alert(html); 

     $.each(html, function(key, val) { 
      alert('key: ' + key + ' - val: ' + val); 
     }); 

     } 
    }); 

但是,這會警告個別字符。有什麼想法嗎?

+0

只要你知道,以下給出的正確答案,你的警報將顯示一個數字鍵和'[object object]'的值。傳遞給'.each()'的第一個參數是每個「循環」中的當前索引,第二個參數是eached集合中的當前元素。由於數組中的項目是對象,因此警報會將它們轉換爲字符串,並且您將看不到任何有用的東西。 – JAAulde

回答

2
$.ajax({ 
    url: './ajax/get_cat_info.php?cid=' + cid, 
    dataType: "json", // Need a correct dataType 
    async: false, 
    success: function(html) { 
     alert(html); 

    $.each(html, function(key, val) { 
     alert('key: ' + key + ' - val: ' + val); 
    }); 
    } 
}); 

JSON選項1是無效的:試試這個:

[ 
    { 
     "field": "title_of_production_row", 
     "required": "1" 
    }, 
    { 
     "field": "where_released_row", 
     "required": "1" 
    }, 
    { 
     "field": "release_date_row", 
     "required": "1" 
    }, 
    { 
     "field": "running_time_row", 
     "required": "1" 
    }, 
    { 
     "field": "accepting_award_row", 
     "required": "1" 
    }, 
    { 
     "field": "contact_name_row", 
     "required": "1" 
    }, 
    { 
     "field": "promocode_row", 
     "required": "0" 
    }, 
    { 
     "field": "payment_method_row", 
     "required": "1" 
    }, 
    { 
     "field": "tbl_submit", 
     "required": "0" 
    }, 
    { 
     "field": "production_company_row", 
     "required": "1" 
    } 
] 

以供將來參考,一個巨大的資源是JSONLint.com它允許您驗證你的JSON在飛行中。

1

你做與數據類型的錯字

`dataType: "jason"`, 

應該

`dataType: "json",` 
+0

嘿。哇。謝謝!我今天一直在這裏待了太久! – execv

2

它看起來像你有兩個問題:

  1. 的JSON在你的例子是無效的。它應該是[{…}, {…}, …](不要逗號)。
  2. 你的jQuery調用有"jason",不"json"