php - jQuery UI DatePicker - 使用 ajax 调用更新全局事件数组

标签 php jquery ajax datepicker

我有一个 jQuery UI DatePicker,在单击时突出显示事件和事件信息。事件设置在静态(硬编码)数组中,格式如下:

var events = [ 
    { Title: "Event 1", Date: new Date("11/15/2013") }, 
    { Title: "Event 2", Date: new Date("11/15/2013") }, 
    { Title: "Event 3", Date: new Date("11/25/2013") }, 
    { Title: "Event 4", Date: new Date("11/30/2013") }
];

这很好用,但事件数组需要在 DatePicker 'onChangeMonthYear' 上更新,因此我每次选择新月份时都添加了一个 ajax 调用,但遇到了一些麻烦..

问题:如何使用 ajax 调用的返回值更新全局事件数组?

这是我到目前为止所尝试过的: PHP

$items = array();
foreach ($events as $event) {
$items[]= array('Title' => $event['SUMMARY'],'Date' => gmdate("m/d/Y",$event['DTSTART']));
}
echo json_encode($items);

JS

$.ajax({ 
type: 'GET',
async : false,
data: {start : firstDay, end : lastDay},
url: "ajax/getCalendarItems.php",
success: function(data){
    events = data;
}
});

结果:

console.log(data)
[{"Title":"New event 1","Date":"12\/20\/2013"},{"Title":"New event 2","Date":"12\/20\/2013"},{"Title":"New event 3","Date":"12\/23\/2013"},{"Title":"New event 4","Date":"12\/30\/2013"}]

TypeError: '[{"Title":"New event 1","Date":"12\/20\/2013"},{"Title":"New event 2","Date":"12\/20\/2013"},{"Title":"New event 3","Date":"12\/23\/2013"},{"Title":"New event 4","Date":"12\/30\/2013"}]' is not a valid argument for 'in' (evaluating 't-1 in e')

最佳答案

您是否尝试过设置

        dataType: "json",
    contentType: "application/json; charset=utf-8",

在你的ajax调用的参数中?它应该自动解码您从 PHP 服务器传递的 json 数据。

因为看起来你的“data”参数仍然是 JSON。

请告诉我! :)

关于php - jQuery UI DatePicker - 使用 ajax 调用更新全局事件数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20140075/

相关文章:

javascript - 我如何在脚本中分配 php 定义常量值

php - 获取所有非重复的字符串组合(无论顺序如何)

php - 如何在 PHP 和 MongoDB 中使用 updateMany 查询

PHP -> SOAP -> Magento 网络服务 : get Cookies set by Magento

php - 刷新页面时,表格单元格突出显示的行的颜色发生变化

javascript - 无法使用 asp.net Web 表单中弹出的 Bootstrap 模式将数据发布到数据库

php - Internet Explorer 中不显示自动完成

javascript - 图像上的内容未垂直对齐

php - 在 Codeigniter 中显示基于先前下拉列表的第二个下拉列表

javascript - IIS 7 Cors Ajax Soap 请求