在Javascript函数中使用AJAX响应

在Javascript函数中使用AJAX响应,javascript,jquery,datepicker,Javascript,Jquery,Datepicker,基本上,我有一个客户列表和一个日历在旁边。其思想是,当客户端被点击时,它会找到可用性,然后通过日历插件返回此信息,以显示哪些日期可用。下面是我在“单击”功能中的代码: $.ajax({ type: "GET", url: "inc/available_dates_search.php", data: string, cache: false, success: function(response){ var result = eval(r

基本上,我有一个客户列表和一个日历在旁边。其思想是,当客户端被点击时,它会找到可用性,然后通过日历插件返回此信息,以显示哪些日期可用。下面是我在“单击”功能中的代码:

$.ajax({
    type: "GET",
    url: "inc/available_dates_search.php",
    data: string,
    cache: false,
    success: function(response){

        var result = eval(response);

        $('#date_calendar').glDatePicker({
            selectableDates: result
        });
    }
});
属性“selectableDates”的格式必须为
[{date:new date(2013,8,15)}]
当我执行
警报(结果)
时,它会给我正确的输出。这使我相信问题在于将值传递给日期选择器。是否无法将此响应传递给日期选择器?如果是,如何实现

我正在使用glDatePicker,可在以下位置找到:


非常感谢。因为我从未使用过glDatePicker,所以在黑暗中拍摄

问题可能是日历已经存在,并且不会更新。您需要销毁它并重新初始化它。或者,如果API有更新日期的方法,则调用该方法

如果它写得正确并且有一个destroy方法,像这样的东西应该可以工作

$('#date_calendar').glDatePicker("destroy").glDatePicker({
     selectableDates: result
});

尝试使用回调,响应评估可能需要太长时间

$.ajax({
 type: "GET",
 url: "inc/available_dates_search.php",
 data: string,
 cache: false,
 success: function(response){
   (function(res, callback){
       // ... your code to process "res"
       result = xyz;
       callback(result);
   })(response, function(data){
       $('#date_calendar').glDatePicker({
          selectableDates: data
       });
   });

 }

这是Ajax没有得到正确的结果还是日历插件没有接受您的调用的问题?请具体说明哪些不起作用,并链接/标记您正在使用的插件。Hi@Bergi,Ajax似乎给出了正确的结果,正如前面提到的,当我对结果发出警报时,它显示了正确的信息。因此,当试图将该值传递给日历插件时,它就不起作用了。谢谢。那么请告诉我们你在使用什么插件。你的问题。我正在使用glDatePicker插件()。编辑我的问题。谢谢。如果您无法让
glDatePicker
为您工作,jQuery UI datepicker可能会有所帮助-可能与multiDatesPicker()配合使用。谢谢您的回复!)不幸的是,我的代码已经做到了这一点,因为我认为我在这里发布之前也有同样的脑波。GLDatepicker没有销毁方法。(对于任何在游戏中这么晚才看到这篇文章的谷歌同行)。