0
所以我想要做的就是使用完整的日历ajax调用来获取注册在数据库中的事件。 当我尝试这样做时,没有错误弹出,事实上,ajax调用返回成功添加到数据库。未通过jQuery Ajax请求传递的发布变量?
我单独测试了PDO查询,它工作的很完美,所以请帮助我使用ajax文章,因为这是我列出的错误之一。
这是default.html中的ajax调用。
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());
}
?>
我看到控制台日志,交XHR GET请求变量。他们只是不会从jQuery到PHP。
任何协助如何可以实现将不胜感激。
一点解释将是有益的。 OPs方法[适用于我](https://jsfiddle.net/mq21vc5n/)。根据[ajax()文档](http://api.jquery.com/jquery.ajax/),“数据”被转换为查询字符串,如果还没有字符串的话。 – showdev
它只是让我的日历完全消失。 –