在AJAX请求中刷新包含PHP的DIV

时间:2014-02-09 20:57:08

标签: javascript php jquery ajax

我正在制作日历,差不多完整了。最后要做的是允许用户选择日期并从按钮提交中选择的日期开始刷新日历div。到目前为止,我已在calendar.php文件中完成了此操作:

<input type="text" name="date" class="datepicker" id="arrivaldate" style="width:80px; margin-top:20px;" /></div>
<input type="submit" id="go" value="GO" />

以下是脚本:

<script>
$(function() {
    $( ".datepicker" ).datepicker({ dateFormat: "yy-mm-dd" });
});
</script>
<script>
$('#go').click( function() {
    var date = $('.datepicker');
    var datastring = {date:date};
    $.ajax({
        type: "GET",
        url: "classes/create_cal.php",
        data: datastring,
        cache:false,
        success: function(html) {
            $('.calendar').load('classes/create_cal.php');
        },
        error: function(){
              alert('Error Adding Unit');
        }
    });
});
</script>

这是classes/create_cal.php代码的一部分。它接收GET数据并设置日期:

//get date from $_GET
    $date = (isset($_GET['date']) ? $_GET['date'] : date("Y-m-d"));
    $date_arr = explode("-",$date);
    $year = $date_arr[0];
    $month = $date_arr[1];
    $day = $date_arr[2];

现在我在控制台中收到以下错误:

Uncaught TypeError: Illegal invocation jquery-1.10.2.js:7499
add                                    jquery-1.10.2.js:7499
buildParams                            jquery-1.10.2.js:7551
buildParams                            jquery-1.10.2.js:7546
buildParams                            jquery-1.10.2.js:7546
buildParams                            jquery-1.10.2.js:7546
jQuery.param                           jquery-1.10.2.js:7519
jQuery.extend.ajax                     jquery-1.10.2.js:8021
(anonymous function)                   calendar.php:115
jQuery.event.dispatch                  jquery-1.10.2.js:5095
elemData.handle                        jquery-1.10.2.js:4766

我觉得,如果没有错误,这仍然是错误的方法。我之前发过一个类似的问题,最终找到了我自己的答案,我现在正在遵循相同的解决方案。我只知道必须有更好的方法来做到这一点。我知道它在Visual Studio中非常简单(使用UpdatePanel)我只想为这种情况找到明确的解决方案。

0 个答案:

没有答案