2013-02-10 80 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字符串你输出它,它工作正常