У меня есть следующий фрагмент кода jQuery:
function saveSchedule()
{
var events = [];
$('ul#schedule-list').children().each(function() {
events.push($(this).attr('value'));
});
jQuery.each(events, function()
{
alert(this);
});
$.post("schedule_service.php?action=save_schedule",
{ events: events, studentid: $('#student').val() },
function(data) {
alert(data);
}, 'json');
}
Который получает все 'значения' из списка на моей странице и помещает их в массив событий.
Затем, ниже, я передаю этот массив плюс студент в раздел данных моего вызова $ .post.
Однако, когда я получаю этот массив на моей стороне PHP, кажется, что это единственное значение:
<?php
include_once('JSON.php');
$json = new Services_JSON();
if ($_GET['action'] == 'save_schedule')
{
$event_list = $_POST['events'];
echo $json->encode($event_list);
exit;
}
?>
(примечание: я использую более старую версию PHP, отсюда и библиотеку JSON.php.)
Теперь все, что когда-либо возвращается, это "14", что является последним событием в массиве событий.
Сообщение:
Ответ:
Как я справляюсь с передачей массива в моем $ .post неправильно?