点击jQuery FullCalendar事件时跳转至undefined页面求助
解决jQuery FullCalendar点击事件跳转undefined页面的问题
问题根源
你的事件数据源里的URL格式错误,且可能存在后端输出转义问题:
- 数据源中的URL使用了反斜杠
\,比如"url":"http:\www.appointments.com\edit\9",反斜杠在JSON中是转义符,会导致event.url解析后无效,最终跳转时显示undefined。 - 如果后端生成JSON时错误转义了正斜杠,也会导致前端拿到的URL格式异常。
修复步骤
修正JSON中的URL格式
把URL里的反斜杠全部替换成正斜杠,同时补充HTTP协议的双斜杠:[ {"title":"Palchin Agarwal","id":9,"start":"2023-11-30","end":null,"className":"bg-dark","url":"http://www.appointments.com/edit/9"}, {"title":"Ed Sheeran","id":17,"start":"2024-01-11","end":null,"className":"bg-dark","url":"http://www.appointments.com/edit/17"} ]确保后端输出正确的JSON
若用PHP生成$get_clients,使用json_encode时加上JSON_UNESCAPED_SLASHES参数,避免正斜杠被转义:$get_clients = json_encode($your_data_array, JSON_UNESCAPED_SLASHES);增加前端容错判断(可选)
在eventClick回调里先检查URL是否有效,避免无意义的跳转:eventClick: function (event, jsEvent, view) { if (event.url && event.url.trim()) { window.location.href = event.url; } else { console.log("事件URL无效"); } }
内容的提问来源于stack exchange,提问作者إرتقاء
相关产品推荐
相关产品推荐

