$ getJSON не распознается как массив - PullRequest
1 голос
/ 13 сентября 2009

Я пытаюсь использовать $ getJSON jQuery для отправки массива 'ids'. Вот как выглядит мой jQuery:

var calendarIds = [];
    $("#jammer :selected").each(function(i, selected){
    calendarIds[i] = $(selected).val();
    });

    $.getJSON("test.php", {
      start: start.getTime() / 1000,
      end: end.getTime() / 1000,
      calendarid: calendarIds
                         },  
            function(a) {
      callback(a);
    });

И, когда я проверяю с помощью Firebug, он показывает, что передается несколько значений: например,

  http://mydomain.com/test.php?calendarid=3&calendarid=4

Однако, когда я пытаюсь присоединиться к так называемому массиву, используя:

$comma_separated = join(",", $_GET['calendarid']);

echo $comma_separated;

Я получаю:

  Warning: join() [function.join]: Invalid arguments passed

И, если я просто повторю $ _GET ['calendarid'], я получаю, это только повторяет последний переданный идентификатор, например:

 echo $_GET['calendarid'];   //echos "4"

Есть идеи, что я делаю не так? Спасибо!

Ответы [ 2 ]

3 голосов
/ 13 сентября 2009

В ответ на ваш комментарий к ответам Мауриса:
используйте это в вашем объекте параметров, которые вы хотите отправить:

"calendarid[]": calendarIds //

вместо:

 calendarid = calendarIds
3 голосов
/ 13 сентября 2009

URL должен был быть

http://mydomain.com/test.php?calendarid[]=3&calendarid[]=4

Чтобы PHP мог анализировать $ _GET ['calendarid'] как массив PHP.

Как только вы установите правильный URL, вы сможете правильно использовать join () в PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...