簡體   English   中英

jQuery ajax不發送數組

[英]jQuery ajax doesn't send array

我試圖通過AJAX在數組中發送一些數據以將其保存到數據庫,我以此方式構建數組:

$( "#saveordering" ).button().click(function( event ) {
            event.preventDefault();

            var data = document.getElementById('tabs');
            var categories = data.getElementsByTagName("div");
            var categoryArray = new Array();

            for (var i=0; i < categories.length; i++) { //Loop door de categoriëen
                var category = categories[i];
                var categoryId = category.getAttribute('id');

                categoryArray[i] = new Array();

                categoryArray[i]['id'] = categoryId;
                categoryArray[i]['forums'] = new Array();

                var forums = category.getElementsByTagName("li");
                for (var j=0; j < forums.length; j++) { //Loop door de forums
                    var forum = forums[j];
                    var forumId = forum.getAttribute('id');
                    categoryArray[i]['forums'][j] = new Array();
                    categoryArray[i]['forums'][j]['id'] = forumId;
                }
            }
            $.ajax({
                type: 'POST',
                url: "ajax/updateboardorder.php",
                dataType: 'json',
                data: {ldelim}"categories" : categoryArray{rdelim} ,
                success: function(data) {
                }
            }); 
        });

但是什么也沒發送,當我在PHP中執行var_dump($_POST) ,我得到了:

數組(大小= 0)為空

我究竟做錯了什么?

看這段代碼

categoryArray[i] = new Array();
categoryArray[i]['id'] = categoryId;
categoryArray[i]['forums'**strong text**

嗯,這不是一個“數組”,您正在創建一個關聯數組

categoryArray[i] = {};
categoryArray[i]['id'] = categoryId;
categoryArray[i]['forums'] = {};

要么

categoryArray[i] = {
    "id" : categoryId,
    "forums" : {}
};

您想要一個對象。 與稍后在forums中的代碼相同。

這是您的數組正在處理的事情:

var a = new Array();
a['id'] = 123;

JSON.stringify(a); // []
a; // []
a.length; // 0

a.id; // 123

您試圖像使用原始對象一樣使用數組:

var o = {};
o.id = 123;

JSON.stringify(o); // {"id":123}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM