Jquery - JSON.stringify, массив пуст

Я надеюсь, что кто-нибудь может мне помочь, значение массива пусто в посте.

$(function start() {

    c_all = new Array('#div { font-color:#ff0000; border:1px solid #00ff00; }', '#div_2 { font-color:#ff0000; }', '.line2 { font-color:#00ffff; }');

    css(c_all);

});


function css(x) {

    values = new Array();

    for (i = 0; i < x.length; i++) {
        c0_selector = '' + x[i].match(/^.*{/) + '';
        c0_selector = c0_selector.replace(/\s*/g, '');
        c0_selector = c0_selector.replace(/{/, '');

        x[i] = x[i].replace(/^.*{/, '');
        x[i] = x[i].replace(/}/, '');

        c0_arr = x[i].split(';');

        values['' + c0_selector + ''] = new Array();

        $('#log').append(''+c0_selector+'
'); for (i2 = 0; i2 < c0_arr.length; i2++) { values[''+c0_selector+''][i2] = c0_arr[i2].split(':'); $('#log').append(''+c0_arr[i2]+'
'); } } $.ajax({ type: 'post', data: JSON.stringify(values), contentType: 'application/json', dataType: 'json' }); }

Рабочий пример -> http://www.jsfiddle.net/V9Euk/448/

Заранее спасибо! Peter

8
задан ChaosPandion 30 August 2010 в 17:44
поделиться

2 ответа

Попробуйте сделать values объектом (как это должно быть в javascript для именованных ключей).

var values = {};

Кроме того, очень хорошая идея объявлять переменные с помощью ключевого слова var, чтобы не создавать глобальные переменные.

Кроме того, нет необходимости в '' + c0_selector + '', поскольку у вас уже есть строка. Просто выполните c0_selector.

Готовый продукт регистрирует заполненный объект. http://www.jsfiddle.net/V9Euk/450/

12
ответ дан 5 December 2019 в 07:55
поделиться

Это прямо из спецификации ECMAScript.

Абстрактная операция JA(значение) сериализует массив. Он имеет доступ к стек, отступ, пробел и пространство вызов stringify метод. Представление массивов включает только элементы между ноль и array.length – 1 включительно. Именованные свойства исключаются из стрингификация. Массив в виде открытой левой скобки, элементы, разделенные запятой, и закрывающая правая скобка.

Практически любые именованные свойства исключаются из результата.

9
ответ дан 5 December 2019 в 07:55
поделиться
Другие вопросы по тегам:

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