我有一個HTML選擇框,允許選擇基於老師的事件管理員選擇JSON結果不是從fullcalendar顯示所選事件
<select id="teachermale" name="teachermale">
<option selected disabled>Male Teachers</option>
<option value="Mohamed Adil">Mohamed Adil</option>
<option value="Sherif Reda">Sherif Reda</option>
<option value="Mohamed Shahban">Mohamed Shahban</option>
<option value="Abdullah al Haiti">Abdullah al Haiti</option>
<option value="Salah">Salah</option>
<option value="Ahmed Nabil">Ahmed Nabil</option>
<option value="Abdul Tawab">Abdul Tawab</option>
<option value="Mahmoud Mahmoud">Mahmoud Mahmoud</option>
<option value="Ahmed Ghanim">Ahmed Ghanim</option>
</select>
而下面的jQuery刪除從jQuery fullcalendar所有時事顯示特定教師的事件。並建立ajax請求以從數據庫中獲取相應教師的事件。
$(function() {
$("#teachermale").change(function(){
var str = "";
$("#teachermale option:selected").each(function(){
str += $(this).text() + "";
});
console.log(str);
$('#calendar').fullCalendar('removeEvents');
changeDisplay(str);
}).change();
});
function changeDisplay(str){
console.log(str);
$.ajax({
url:'find_event.php',
type:'POST',
data : '&str='+encodeURIComponent(str),
dataType:'text',
success: function(json) {
$('#calendar').fullCalendar('addEventSource', json);
},
error: function(xhr, textStatus, errorThrown) {
alert(xhr.responseText);
}
});
}
POST正在工作,特定教師的事件正在JSON中正確提取。
而以下是獲取事件的find_event.php腳本。
// List of events
$json_array["title"]=$_POST["str"];
$title =$json_array["title"];
echo $title;
// connection to the database
try{
$pdo = new PDO('mysql:host=localhost;dbname=*******', '******', '*******');
} catch(Exception $e) {
exit('Unable to connect to database.');
}
$requete = "SELECT * FROM `evenement` WHERE `title`=?";
// Prepare your query
$stmt = $pdo->prepare($requete);
if ($stmt) {
if ($stmt->execute(array($title))) {
$events = array();
$dbEvents = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($dbEvents as $event) {
$event['allDay'] = false;
$events[] = $event;
}
} else {
// check for error
print_r($stmt->errorInfo());
}
}
echo json_encode($events);
控制檯記錄字符串(即標題),並在網絡選項卡顯示str已過帳。但我似乎無法讓日曆顯示在屏幕上,即使我使用$('#calendar').fullCalendar('addEventSource', json);
來成功回收json源中的事件。
任何關於如何檢查這個或如何讓事件顯示的輸入將不勝感激。當的console.log是在它做
JSON響應: Salah[{"id":"24","title":"Salah","start":"2016-06-02 10:00:00","end":"2016-06-02 14:30:00","url":null,"allDay":false,"color":null},{"id":"26","title":"Salah","start":"2016-06-23 08:30:00","end":"2016-06-23 11:30:00","url":null,"allDay":false,"color":"green"}]
這裏是請求頭看怎麼樣。
在你的屏幕截圖的GET請求的URL看起來肯定是不對的。另外,傳遞給addEventSource的json變量是什麼?你能舉一個例子嗎? – K48
我在代碼中看到'type':'POST',''嗎? –
@ K48我如何向你展示json變量?有什麼建議? –