2011-08-21 110 views
0

嗨我遇到了一個數組,我通過ajax後獲得的麻煩。我的成功回報看起來是這樣的:JSON:幫助循環與jQuery陣列

["OptimiseWeb","Photos","Portal","Projects","Public"] 

我的問題是,當我做一個警報(本)的foreach項目的數組,而不是讓目錄即英寸相片。它將它視爲一個字符串並循環遍歷每個字符。

這裏是我的代碼:

$.ajax({ 
    type: "POST", 
    url: "<?php echo base_url(); ?>filesystem/get_dropbox_directories", 
    data: dataString, 
    dataType: JSON, 
    success: function(arr) 
    { 
     alert(arr); 
     $.each(arr, function() { 
      alert(this); 
      var opt = $('<option />'); 
      opt.val(this); 
      opt.text(this); 
      $('#dropbox-directories').append(opt); 

     }); 


     $('.drop-account-indicator').css('display', 'none'); 
    } 
}); 

任何人都可以看到我要去哪裏錯了嗎?這是我的PHP,如果它有幫助?

$data = array(); 

     foreach($contents as $sub){ 

      if($sub->is_dir){ 
       $data[] = str_replace('\/', '', $sub->path); 
      } 

     } 

     header('Content-type: application/json'); 
     echo json_encode($data); 
+0

btw這不是必需的:<?php echo base_url(); ?>一個相對的網址應該很好 – Baz1nga

回答

1

JSON應該"json"

dataType: "json", 

dataType應該是一個字符串。 JSON傳遞一個全局對象,而"json"傳遞一個字符串(jQuery不知道如何處理JSON,但與"json"它將解析響應)。

jQuery.ajax docs

+0

哇感謝您的快速回答。它的工作表示感謝!愚蠢的錯誤:( – iamjonesy

+0

JSON應該hv拋出一個js錯誤和ajax調用不應該已經通過.. nt確定如果這是他的概率..可能是他有一個變量名稱JSON .. @iamjonesy這是否解決您的問題? – Baz1nga

+1

@zzzz'JSON'作爲一個對象包含在某些瀏覽器中,它是一個JSON解析庫 –