【发布时间】:2012-03-20 01:41:03
【问题描述】:
好的,所以我设法找出了 php 代码,当我在浏览器中查看它时,它正在工作并以正确的 json 格式输出。感谢 Starx 的帮助,这是代码:
<?php
include ("Includes/dbConnect.php");
$_GET['date'];
$query2 = "SELECT * FROM events";
$checkevent = mysqli_query($cxn,$query2) or die("Couldn't execute query!");
$dates = array();
while ($row2 = mysqli_fetch_array($checkevent))
{
$eventDate = $row2['eventDate'];
$eventName = $row2['eventName'];
$eventHost = $row2['host'];
$dates[$eventDate] = array('title' => $eventName, 'desc' => $eventHost);
}
echo json_encode(array("dates" => $dates));
?>
这输出: {"dates":{"2012-03-16":{"title":"Table Quiz","desc":"MSU"},"2012-03-20":{"title":"Welcome", "desc":"我"}}}
所以我的 jquery 代码肯定有问题。我根据 Starx 的规格对其进行了更改,但仍然没有,有人有什么想法吗??
<script type="text/javascript">
$(document).ready(function()
{
$("#ical").ical({
beforeMonth:function(date)
{
$.ajax({
type: "GET",
url: "getCalendarEvents.php",
dataType: "json",
data: "date="+date,
async: false, //stop rendering the calender until eventdates is changed.
success: json.each(function(k,v){
$.fn.ical.changeEventDates(v); //this function changes the eventdates
}
})
}
});
});
</script>
【问题讨论】:
-
以上显示脚本是否都在同一个页面上?
-
no php 单独包含在 getCalendarEvents.php 中
-
在这里冒个泡,假设您不想要打印为
Array ( [0] => Array ( [date] => $eventDate [title] => $eventName [desc] => $eventHost ) )的多维数组,而是想要Array ( [date] => $eventDate [title] => $eventName [desc] => $eventHost )- 删除第一个$dates = array(); -
@Ohgodwhy,但他正在循环 while 循环。在我们看来,多维是合理的。 @ OP,检查我的更新答案
-
您说“但似乎无法从函数中返回任何结果”,但是您知道 Ajax 是否返回了 json 吗?如果不是,这是一个服务器端问题,如果是,那么这是一个 JavaScript/Jquery 问题。要找出答案,请使用 Firefox 的 Firebug 插件,并在加载页面时检查“网络”选项卡。它将显示 Ajax 调用返回的内容(如果有的话)。如果您看到任何内容,请在此处发布。