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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> передать массив в ажакс-запрос 
:(
    Опции темы
mstdmstd
Дата 13.12.2015, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Всем привет,
Столкнулся с тем что не могу передать массив в ажакс-запрос 
Код

                            var selected_inputs= []
                            $('.classname').each(function () {
                                var selected_input_item = []
                                selected_input_item['field_value'] = $(this).val();
                                selected_input_item['field_name'] = $(this).attr("name");
                                selected_inputs[selected_inputs.length]= selected_input_item  // Так формирую массив
                            });
                            $.ajax({
                                url: 'url',
                                dataType: "json",
                                type: 'post',
                                data: {
                                    action: 'action_name',
                                    // selected_inputs: JSON.stringify(selected_inputs) // Так данные не передаются
                                    // selected_inputs: {selected_inputs : selected_inputs}  // Так данные не передаются
                                    // selected_inputs: { selected_inputs}  // Так данные не передаются
                                    selected_inputs: selected_inputs // Так данные не передаются
                                },
                                success: function( data ) {
                                    alert( "data::"+var_dump(data) )

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

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


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



А на стороне сервера как намереваешься увидеть эти данные?

Возможно, стоит исправить [] на {} в 3-й строчке
Код

var selected_input_item = {}

Тогда JSON.stringify будет на самом деле содержать что-то.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
mstdmstd
Дата 14.12.2015, 08:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Спасибо, помогло :
Код

var selected_input_item = {}


На сервере в пхп-скртипте смотрю данные выводом в текстовый файл, вроде :

Код

            $selected_inputs = $this->getParameter( 'selected_inputs' ) ;
            // строка имеет вид  [{\"field_value\":\"992\",\"field_name\":\"favourite-song-category\"},{\"field_value\":[\"1\"],\"field_name\":\"favourite-artist\"}]
            
            // Вручную привожу данные к json-формату :
            $selected_inputs= str_replace( '\"', '"', $selected_inputs );
            $selected_inputs= str_replace( array( '[',']' ), '' , $selected_inputs );

            DebToFile('- get_nsnsourceselection_inputs $selected_inputs ::' .print_r($selected_inputs,true) );
            // Получаю строку : {"field_value":"990","field_name":"favourite-song-category"},{"field_value":"1","field_name":"favourite-artist"}
            // Вроде это json-формат - или нет ?
            $selected_inputs = json_decode( $selected_inputs );
            DebToFile('-111 get_nsnsourceselection_inputs $selected_inputs ::' .print_r($selected_inputs,true) );
            // выводит пуст ую строку

Или проблема с форматом?

Это сообщение отредактировал(а) mstdmstd - 14.12.2015, 08:53
PM MAIL   Вверх
ksnk
Дата 14.12.2015, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



А json_decode($this->getParameter( 'selected_inputs' )) что выдает? Возможно со строкой нужно сделать stripslashes, предварительно. Хотя, если это так - нужно проверить включены ли magic_quotes_gpc и зачем они были включены...

Цитата(mstdmstd @  14.12.2015,  08:51 Найти цитируемый пост)
// Получаю строку : {"field_value":"990","field_name":"favourite-song-category"},{"field_value":"1","field_name":"favourite-artist"}
            // Вроде это json-формат - или нет ?

Нет, JSON - это изображение ОДНОГО объекта/массива. Здесь - перечисление нескольких объектов через запятую. Если бы не убирать [] - осталось бы изображение массива.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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