Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.02.2011, 10:48
Новичок на форуме
Отправить личное сообщение для RCuPeR Посмотреть профиль Найти все сообщения от RCuPeR
 
Регистрация: 24.01.2011
Сообщений: 8

Массив AJAX + JSON
Всем доброе утро!
Задача следующая: есть чекбоксы, которые динамически добавляются на страницу, т.е, есть таблица с пользователями и у каждого из них существует свой чекбокс.

Данные передаются массивом, и в обработчикt foreach() получает ключ => значение.

Динамический чекбокс:
<input type="checkbox" id="iddd" name="group[]" value="'.$row['ID'].'" />


Обработчик.
foreach($_POST['group'] as $key => $value) {
      echo $key.'=>'.$value.'<br>';
}


В результате, foreach() возвращает:
0 => 12
1 => 35
2 => 46 и т.д.

Надумал сделать передачу данных AJAX-ом, сразу столкнулся с методом записи JSON, вроде бы разобрался. Но не так всё просто.

Вот скрипт:
<script type="text/javascript">
$(document).ready(function(){
    $('#insert').click(function(){
          var formData = { "group":$("#iddd").attr('name')};
         
        $.ajax({
            url:'actions_stud_group.php'
            , type:'POST'
            , data:'jsonData=' + $.toJSON(formData)
            , success: function(data) {
                $('#res').html(data);
            }
        });
        return false;    
    });    
});
</script>


Вот php-обработчик:
$data = json_decode($_POST['jsonData']);
$response = 'Retrieved parameters '.count($data).'<br>';
foreach ($data as $key=>$value) {
    $response .= 'Parameters: '.$key.'; Keys: '.$value.'<br>';
}
echo $response;


Проблема заключается в том, что AJAX не хочет передавать массив name="group[]" . Т.е в результате, скрипт выдает ошибку:
Warning: Invalid argument supplied for foreach()

Т.е foreacc() не получает ключ-значение.

Как передать AJAX-ом массив ?!
Ответить с цитированием
  #2 (permalink)  
Старый 09.02.2011, 11:11
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Чем передача данных AJAX'ом отличается от обычной отправки формы? Зачем Вам JSON там, где хватит обычного запроса?
Формируйте обычный запрос с параметрами вида name[]=...

P.S. JSON обычно используется для получения данных от сервера, а не для отправки их ему.
Ответить с цитированием
  #3 (permalink)  
Старый 09.02.2011, 11:49
Новичок на форуме
Отправить личное сообщение для RCuPeR Посмотреть профиль Найти все сообщения от RCuPeR
 
Регистрация: 24.01.2011
Сообщений: 8

<script type="text/javascript">
$(document).ready(function(){
    $('#insert').click(function(){
         var formData = $("#iddd").attr('name');       
         
        $.ajax({
            url:'actions_stud_group.php'
            , type:'POST'
            , data: {group: formData}
            , success: function(data) {
                $('#res').html(data);
            }
        });
        return false;    
    });    
});
</script>


Говорит:

Warning: Invalid argument supplied for foreach()
Ответить с цитированием
  #4 (permalink)  
Старый 09.02.2011, 12:31
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Вы бы посмотрели сначала, что пришло Вам в $_POST. Вы непонятно зачем отправляете значение атрибута name. Почитайте о том, как браузер отправляет формы.
Ответить с цитированием
  #5 (permalink)  
Старый 09.02.2011, 12:34
Новичок на форуме
Отправить личное сообщение для RCuPeR Посмотреть профиль Найти все сообщения от RCuPeR
 
Регистрация: 24.01.2011
Сообщений: 8

В $_POST у меня попало group[].
Я не пойму что нужно отправить ?!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование данных json в массив LA_ Общие вопросы Javascript 4 28.10.2010 23:54
Очень нужно.. Отправка HTML куски в JSON от сервера используя Ajax bivnikus jQuery 8 26.10.2010 23:54
ajax и многомерный массив cat9 AJAX и COMET 1 03.10.2010 15:25
Многомерный массив в json Л_Денис Общие вопросы Javascript 1 21.04.2010 21:43
Что выбрать XML или JSON для передачи Ajax - ом из PHP в JS Gozar Общие вопросы Javascript 20 16.08.2009 23:36