如何通过ajax将$ _GET传递给另一个php?

时间:2016-01-15 16:46:09

标签: php jquery mysql ajax

我要对我的问题做一个解释: 尝试将fullcalendar集成到通过mysql&获取数据的Web上。 ajax,我想在日历上显示预订日期,只要它与一个“房子”相关,特别是当点击这个时。 所以,在我的PHP中我收到$ pisoid = $ _GET ['piso'];然后我在同一页面中使用js脚本,我通过post ajax传递该数据:

    var pisoid = "<?php echo $pisoid; ?>" ;

$.ajax({
    url: 'process.php',
    type: 'POST', // Send post data
    data: 'type=fetch',
    async: false,
    success: function(s){
        json_events = s;
    }
});

我也用这个:

    $('#calendar').fullCalendar({
        events: JSON.parse(json_events),
        //events: [{"id":"14","title":"New Event","start":"2015-01-24T16:00:00+04:00","allDay":false}],
        utc: true,
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,agendaWeek,agendaDay'
        },
        editable: true,
        droppable: true, 
        slotDuration: '00:30:00',
        eventReceive: function(event){
            var title = event.title;
            var start = event.start.format("YYYY-MM-DD[T]HH:mm:SS");
            $.ajax({
                url: 'process.php',
                data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone+'&pisoid='+pisoid,
                type: 'POST',
                dataType: 'json',
                success: function(response){
                    event.id = response.eventid;
                    $('#calendar').fullCalendar('updateEvent',event);
                },
                error: function(e){
                    console.log(e.responseText);

                }
            });
            $('#calendar').fullCalendar('updateEvent',event);
            console.log(event);
        });

然后,在我的process.php上,我尝试制作:

$space = $_POST['pisoid'];
$events = array();

$query = mysqli_query($con, "SELECT * FROM calendar where pisoid='$space'");
while($fetch = mysqli_fetch_array($query,MYSQLI_ASSOC))
{
$e = array();
$e['id'] = $fetch['id'];
$e['title'] = $fetch['title'];
$e['start'] = $fetch['startdate'];
$e['end'] = $fetch['enddate'];

$allday = ($fetch['allDay'] == "true") ? true : false;
$e['allDay'] = $allday;

array_push($events, $e);
}
echo json_encode($events);

我在我的sql查询中放了一个数字而不是$ space就可以了,但是在这个$ space中我没有收到一个正确的数字,那我怎么能做这个东西?

1 个答案:

答案 0 :(得分:0)

您正在传递数据,就好像它是fullcalendar函数中的URL一样 改变这个:

data: 'type=new&title='+title+'&startdate='+start+'&zone='+zone+'&pisoid='+pisoid,

要:

data: {type: 'new', title: title, startdate: start, zone: zone, pisoid: pisoid}

像这样你传递不同的变量(类型,标题等等)到你在PHP文件中使用的超全局。

说明: 数据数组的构造如下:'nameofattribute':variable JavaScript将负责创建URL /发布数据

您的问题是,您正在尝试使用POST变量获取您传递的数据的“GET”参数(我可能不添加密钥)。尝试切换它们,它应该有帮助