Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> В ajax пост запросе отправить двумерный массив 
:(
    Опции темы
mstdmstd
Дата 8.9.2016, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Всем привет,

В ajax пост запросе нужно отправить двумерный массив
Для формирования массива делаю :
Код

    var attrs_checked_list= []
    var j= 0

    var l= this_attrs_options_list.length
    for( i= 0; i< l; i++ ) {
        var attr_name = this_attrs_options_list[i]['attr_name']
        var next_class_name= 'input.nsn_woo_ext_search_cbx_'+attr_name+'_selection_filters:checked'
        $(next_class_name).each(function () {
            var attrItem = []
            attrItem['attr_name'] = attr_name;
            attrItem['value'] = $(this).val();
            attrs_checked_list[j]= attrItem
            j++
        });
    }


Код

И запрос :
    $.ajax({
        url: ajax_object.frontend_ajaxurl,
        dataType: "json",
        type: 'post',
        data: {
            //attrs_checked_list: encodeURIComponent(attrs_checked_list),   // если раскаментарить - выдает ошибку
            attrs_checked_list: JSON.stringify( attrs_checked_list ),
            prices_list: prices_list,


С использованием JSON.stringify( на сервере получаю
Код

[[],[],[]]

Да и строка
    alert( "::"+var_dump( JSON.stringify( attrs_checked_list ) ) )
выводит 
Код

[[],[],[]]


А как правильно ?

  Спасибо !
PM MAIL   Вверх
mstdmstd
Дата 10.9.2016, 08:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 394
Регистрация: 30.12.2008

Репутация: нет
Всего: нет



Решение нашел в передаче в запрос в виде двумерного массива, но без строковых индексов:
Код

    var params_attrs_checked_list= Array();
    for( i = 0; i< attrs_checked_list.length; i++ ) {
        params_attrs_checked_list[i] = new Array(2);
        //params_attrs_checked_list[i]["attr_name"]= attrs_checked_list[i].attr_name  // Если раскоментарить эти 2 строки и закоментарить 2 строки ниже то ошибки при
        //params_attrs_checked_list[i]["value"]= attrs_checked_list[i].value          // выполении нет - но массив на сервер не передается
        
        params_attrs_checked_list[i][0]= attrs_checked_list[i].attr_name              // Так работает нормально
        params_attrs_checked_list[i][1]= attrs_checked_list[i].value

    ...

    $.ajax({
        url: ajax_object.frontend_ajaxurl,
        dataType: "json",
        type: 'post',
        data: {
            action: 'save_bookmark',
            attrs_checked_list: params_attrs_checked_list,
    ...


?

PM MAIL   Вверх
_zorn_
Дата 12.9.2016, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1077
Регистрация: 21.8.2007

Репутация: 1
Всего: 12



Зависит от принимающей стороны. С чего вы решили что он должен правильно интерпертировать _ваши_ "двумерные массивы со строковыми ключами" ?

Это сообщение отредактировал(а) _zorn_ - 12.9.2016, 14:10
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0648 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.