2013-02-10 33 views
0

我有這樣的代碼:JSON.stringify給了我錯了JSON數組

var sidebars = {}; 
var counter = 0; 

// Loop through all already crated sidebars 
$('.custom_dynamic_sidebars li').each(function(event) { 
    sidebars[counter] = $(this).text(); 
    counter++; 
}); 

var sidebars_string = JSON.stringify(sidebars); 

,但它給了我這個字符串:

{\"0\":\"aa\",\"1\":\"bb\"} 

這裏是JavaScript的,它發送陣列到服務器:

$.ajax({ 
     url:"/welit_2/wp-admin/admin-ajax.php",  
     type:'POST', 
     data:'action=dynamic_sidebars&sidebars='+sidebars_string+'', 

     success:function(results) { 
      console.log(results); 
     } 
    }); 

有人知道我做錯了什麼嗎? THX您的時間

+0

作品在我面前。如何得出'sidebars_string'看起來像它呢? – 2013-02-10 21:40:02

+0

的問題是,我把這個AJAX但是當我寫入AJAX功能可按這樣的: '函數dynamic_sidebars(){ \t $富= $ _POST [ '側欄']; \t $ new = json_decode($ foo); \t echo $ new; \t die(); } add_action(「wp_ajax_dynamic_sidebars」,「dynamic_sidebars」); add_action(「wp_ajax_nopriv_dynamic_sidebars」,「dynamic_sidebars」);' 所以它什麼都沒顯示...... – 2013-02-10 22:15:38

+0

啊,所以在傳輸到服務器之後就破了。你可以發佈的JavaScript發送到服務器?而不是評論更好地編輯你的問題 - 這是更好的格式。 – 2013-02-10 22:21:33

回答

0

所以我找到了一個解決方案,如果你運行stripslashes()函數的JSON字符串你輸出它,它工作正常