FullCalendar/Laravel JSON 事件源,找不到控制器路由问题
FullCalendar/Laravel JSON Event Feed, Controller Route Not Found Problem
我正在编写一个 laravel 应用程序,我可以将 FullCalendar 与数据库集成。但是,当我将 JSON 事件提要放入 URL 时,我收到内部服务器错误 (500)。
我注意到代码正在调用 URL /getagenda.php?start=DATE/TIME&end=DATE/TIME,正如 [=16= 中所述].
而不是这个,我想得到一个 "normal laravel route" 像 127.0.0.1:8000/getagenda/{startParam}/{endParam},或者没有任何参数的普通路由,这样我就可以 正确访问我的控制器并获取JSON事件数据。
试了很多,还是没解决...
错误:
Failed to load getagenda?start=2019-07-28T00%3A00%3A00-03%3A00&end=2019-09-08T00%3A00%3A00-03%3A00:1 resource: the server responded with a status of 500 (Internal Server Error)
Web.php:
Route::get('getagenda', 'App\AppointmentsController@indexshow')->name('agendashow');
控制器:
public function indexshow(Request $request){
$appointments = Appointment::all();
$agenda = array();
foreach ($appointments as $ap) {
$e = array();
$e['title'] = $ap->client->first_name + " " + $ap->client->last_name;
$e['start'] = $ap->start_time;
$e['end'] = $ap->finish_timet;
$e['url'] = route('app.appointments.edit', $ap->id);
array_push($agenda, $e);
}
echo json_encode($agenda);
}
全日历 Js:
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new Calendar(calendarEl, {
plugins: [ dayGridPlugin ],
locale: 'pt-br',
events: {
url: 'getagenda',
failure: function() {
alert('there was an error while fetching events!');
}
}
});
calendar.render();
});
你有内部错误,因为你的服务器端控制器有错误
$e['title'] = $ap->client->first_name + " " + $ap->client->last_name;
改为
$e['title'] = $ap->client->first_name . " " . $ap->client->last_name;
因为 +
只能在 Javascript 中使用,但是在 php
中您必须使用 .
进行连接
我正在编写一个 laravel 应用程序,我可以将 FullCalendar 与数据库集成。但是,当我将 JSON 事件提要放入 URL 时,我收到内部服务器错误 (500)。
我注意到代码正在调用 URL /getagenda.php?start=DATE/TIME&end=DATE/TIME,正如 [=16= 中所述].
而不是这个,我想得到一个 "normal laravel route" 像 127.0.0.1:8000/getagenda/{startParam}/{endParam},或者没有任何参数的普通路由,这样我就可以 正确访问我的控制器并获取JSON事件数据。
试了很多,还是没解决...
错误:
Failed to load getagenda?start=2019-07-28T00%3A00%3A00-03%3A00&end=2019-09-08T00%3A00%3A00-03%3A00:1 resource: the server responded with a status of 500 (Internal Server Error)
Web.php:
Route::get('getagenda', 'App\AppointmentsController@indexshow')->name('agendashow');
控制器:
public function indexshow(Request $request){
$appointments = Appointment::all();
$agenda = array();
foreach ($appointments as $ap) {
$e = array();
$e['title'] = $ap->client->first_name + " " + $ap->client->last_name;
$e['start'] = $ap->start_time;
$e['end'] = $ap->finish_timet;
$e['url'] = route('app.appointments.edit', $ap->id);
array_push($agenda, $e);
}
echo json_encode($agenda);
}
全日历 Js:
document.addEventListener('DOMContentLoaded', function() {
var calendarEl = document.getElementById('calendar');
var calendar = new Calendar(calendarEl, {
plugins: [ dayGridPlugin ],
locale: 'pt-br',
events: {
url: 'getagenda',
failure: function() {
alert('there was an error while fetching events!');
}
}
});
calendar.render();
});
你有内部错误,因为你的服务器端控制器有错误
$e['title'] = $ap->client->first_name + " " + $ap->client->last_name;
改为
$e['title'] = $ap->client->first_name . " " . $ap->client->last_name;
因为 +
只能在 Javascript 中使用,但是在 php
中您必须使用 .
进行连接