2016-03-10 2 views
0

Так что я пытаюсь использовать полный календарный вызов ajax, чтобы получить событие, зарегистрированное в базе данных. Когда я пытаюсь это сделать, ошибка не появляется, infact, вызов ajax возвращает успешное дополнение к базе данных.Опубликовать переменные, которые не передаются с помощью запроса jQuery Ajax?

Я тестировал запрос PDO отдельно, и он работает идеально, поэтому любезно помогите мне с сообщением ajax, потому что это то, что я коротко указал на ошибку.

Это вызов ajax в default.html.

selectable: true, 
selectHelper: true, 
select: function(start, end, allDay) { 
    var title = prompt('Event Title:'); 
    var url = prompt('Type Event url, if exits:'); 
    if (title) { 
     var start = $.fullCalendar.moment(start); 
     var end = $.fullCalendar.moment(end); 
     console.log("Event Triggered"); 
     $.ajax({ 
       url: 'add_events.php', 
       data: 'title='+ title+'&start='+ start +'&end='+ end +'&url='+ url , 
       type: "POST", 
       success: function(json) { 
        alert('Added Successfully'); 
       }, 
       error: function(xhr, textStatus, errorThrown) { 
        alert(xhr.responseText); 
       } 
     }); 
     calendar.fullCalendar('renderEvent', 
     { 
      title: title, 
      start: start, 
      end: end, 
      url:url, 
      allDay: allDay 
     }, 
      true // make the event "stick" 
     ); 
    } 
    calendar.fullCalendar('unselect'); 
} 

И это add_events.php (Пожалуйста, обратите внимание, что это не ошибка, за исключением того, что не получает пост.)

<?php 
    // Values received via ajax 

    $title = $_POST['title']; 
    $start = $_POST['start']; 
    $end = $_POST['end']; 
    $url = $_POST['url']; 

    // connection to the database 
try { 
    $bdd = new PDO('mysql:host=localhost;dbname=fullcalendar', '....', '.......'); 
} catch(Exception $e) { 
    exit('Unable to connect to database.'); 
} 



    $sql = "INSERT INTO " 
    . "`evenement` " 
    . "SET " 
    . "`title` = :title, " 
    . "`start` = :start, " 
    . "`end`  = :end, " 
    . "`url`  = :url "; 

    $stmt = $pdo->prepare($sql); 
    $result = $stmt->execute(array(':title'=>$title, ':start'=>$start, ':end'=>$end, ':url'=>$url)); 
    if (!$result) { 
     print_r($pdo->errorInfo()); 

    } 
?> 

я вижу запрос GET XHR в журнале консоли с поста переменные. Они просто не идут от jQuery к php.

Любая помощь, как это может быть достигнута, будет оценена по достоинству.

enter image description here

ответ

-1

использование

data: { title : title, start : start , end : end , url : url } 

вместо

data: 'title='+ title+'&start='+ start +'&end='+ end +'&url='+ url 
+0

Небольшое пояснение было бы полезно. Метод OPs [работает для меня] (https://jsfiddle.net/mq21vc5n/). Согласно документации [ajax()] (http://api.jquery.com/jquery.ajax/), 'data'« преобразуется в строку запроса, если не уже строка ». – showdev

+0

Это просто заставило мой календарь полностью исчезнуть. –

Смежные вопросы