JQuery удаляет пустые массивы при отправке

У меня есть следующий код:

$.post('block_ajax.php'
    ,   {   'action': 'set_layout'
        ,   'listid': 123
        ,   'layout': []
        }
    ,   function(data) {
            // ...
        }
);

Скрипт получения (block_ajax .php) получает только параметры "действие" и "список". Когда я проверяю то, что отправлено с помощью Chrome, я вижу, что параметр "макет" даже не отправляется в серверный сценарий.

Поскольку существует разница между пустой массив и отсутствие массива, я бы хотел, чтобы JQuery отправлял пустой массив. Я могу найти некоторые признаки того, что JQuery (1.6.1), похоже, делает это, но не могу остановить его от этого. JSON формат позволяет использовать пустые массивы и пустые объекты, поэтому я думаю, что это возможно.

Кто-нибудь знает, что нужно изменить, чтобы JQuery мог отправлять пустые массивы?

22
задан Felix Kling 8 July 2011 в 09:03
поделиться

1 ответ

Я решил это следующий путь, который я чувствую, является самым легким читать. Предположим, существует массив myArray, который мог быть заполнен или пустой:

'requestParam': myArray.length === 0 ? '' : myArray

, Даже когда пустой, jQuery не опустит requestParam аргумент.

0
ответ дан 29 November 2019 в 05:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: