Передача значений в PHP с помощью jQuery POST - PullRequest
0 голосов
/ 01 февраля 2012

Все, Скажем, у меня есть следующий бит кода:

select: function(start, end, allDay) {
    var title = prompt('Event Title:');
    if (title) {
        calendar.fullCalendar('renderEvent',
            {
                title: title,
                start: start,
                end: end,
                allDay: allDay
            },
            true // make the event "stick"
        );
        alert(start);
        jQuery.post("save_calendar_event.php", {
            title: title,
            start: start,
            end: end,
            allDay: allDay
            }, function(data){
            alert(data);
        });
    }
    calendar.fullCalendar('unselect');
}

Тогда у меня есть страница PHP, чтобы принять значения сообщения:

$title = $_POST['title'];
$start_time = $_POST['start'];
echo "The start time is: ".$start_time;

Если я возвращаю $ title, он работает нормально, но если я запускаю $ start_time, он говорит, что значение отсутствует. Когда предупреждение показывается для запуска на стороне jQuery, у него есть данные, которые я собираюсь передать. Почему он не передает эту переменную на мою страницу PHP?

РЕДАКТИРОВАТЬ : если я сделаю оповещение, мое предупреждение будет отображаться: вс 29 января 2012 12:00:00 GMT-0600 (центральное поясное время)

Спасибо!

Ответы [ 2 ]

2 голосов
/ 01 февраля 2012

Вы должны принудительно преобразовать ваш объект даты и времени start и end js в string/timestamp сначала (перед отправкой в ​​$ .post).

start.valueOf(); // for timestamp or shortcut +start
start.toUTCString() // to date format e.g. Wed, 01 Feb 2012 03:04:15 GMT

@ Кай Цин Я думаю, что jQuery уже закодировал параметры для вас.

0 голосов
/ 01 февраля 2012

Под ред. Смотри ответ rezigned. Этот метод будет работать, но он неправильный:

Попробуйте заменить объект данных поста следующим образом:

{ title: encodeURIComponent(title), start: encodeURIComponent(start), end: encodeURIComponent(end), allDay: encodeURIComponent(allDay) }

Тогда не забудьте выполнить urldecode () на вашей стороне php, прежде чем делать что-либо с этими данными.

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