Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/265.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将此类型代码转换为laravel格式?_Javascript_Php_Laravel_Fullcalendar - Fatal编程技术网

Javascript 如何将此类型代码转换为laravel格式?

Javascript 如何将此类型代码转换为laravel格式?,javascript,php,laravel,fullcalendar,Javascript,Php,Laravel,Fullcalendar,这段代码是关于普通php代码的,我想把它放到laravel控制器中,但它不起作用。我的问题是想问一下如何使这段代码起作用并与我的数据库链接 if($type == 'fetch') { $events = array(); $query = mysqli_query($con, "SELECT * FROM calendar"); while($fetch = mysqli_fetch_array($query,MYSQLI_ASSOC)) { $e =

这段代码是关于普通php代码的,我想把它放到laravel控制器中,但它不起作用。我的问题是想问一下如何使这段代码起作用并与我的数据库链接

if($type == 'fetch')
{
    $events = array();
    $query = mysqli_query($con, "SELECT * FROM calendar");
    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);
}
这是我的视图代码,有人能帮我看看如何链接它吗?因此,我可以从数据库中获取数据并将其显示在我的完整日历上


编辑后。。 这是我的视图代码。


首先,当您使用
POST
方法时&我假设您是全球
csrf
中间件,因此无论何时请求
POST
方法,您都必须在请求时传递
csrf
令牌。为此,您可以将
csrf
令牌添加到meta

  public function show(Request $request){
        if($request->get('type') == 'fetch'){
            return Events::select(['calendar_id','calendar_title','startdate as start', 'enddate as end'])->get();
        }

    }
您可以查看更多详细信息

现在在jQuery代码中

<meta name="csrf-token" content="{{ csrf_token() }}">
$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
});
现在在控制器的操作中

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

您可以在这里查看如何定义模型。

我不了解您在上面提到的csrf,这是需要放在我的视图中还是?
Route::get('events/show','EventsController@show'); 我像这样设置我的路由,所以在url部分,我只是把
url:“{{url('events/show')}
,像这样?@Ben如果您在
应用程序/Http/Kernel.php
文件中看到
Kernel.php
,您将看到一个
$middleware
受保护的属性。这里列出了在每个请求中执行的所有中间件。有一个名为
VerifyCsrfToken
的中间件,它的任务是检查
csrf
。您应该广告通过laravel文档更多您可以使用eventSources选项从服务器加载事件。
$.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
});
$.ajax({
    url: 'YOUR_URL_TO_POST',
    type: 'POST', // Send post data
    data: 'type=fetch',
    async: false,
    success: function(s){
        json_events = s;
    }
});
public function your_method_name(\Request $request)//put your action name & inject Request
{
    if ($request->get('type') == 'fetch')//check type
    {
        return Calendar::select(['id', 'title', 'startdate as start', 'enddate as end', 'allDay'])->get();//I think you have a calendar model
    }
}