FullCalendar 无法在 CakePHP 1.2.5 和 jQuery 1.4.1 中工作
我正在尝试通过 URL 获取事件数据,该 URL 将返回 JSON 数据。 相同的代码适用于 jQuery 1.3.2,但不适用于 jQuery 1.4.1
我在 FireBug 控制台中收到此错误
a is undefined
for (var i=0; i
fullcalendar.js(第369行)
我正在获取JSON数据,因为我可以在FireBug的响应标头中检查它 jQuery 1.4.1 强制执行严格的 JSON 解析 我不确定这是否是问题所在。
我将 FullCalendar 示例保留在 apache webroot 中。 如果我使用“/fullcalendar/examples/json-events.php”作为事件而不是我的 CakePHP AJAX url“/myCake/calendars/get_events”,它适用于 jQuery 1.4.1。 但是,如果我在 CakePHP get_events.ctp 文件中的“/fullcalendar/examples/json-events.php”中包含相同的代码,该代码会生成相同的 JSON,则它会与 jQuery 1.4.1 产生相同的错误
如果有人遇到过相同的情况问题并找到解决方案或解决方法,如果您分享您的经验,将会非常有帮助。
I am trying to fetch the events data through a URL which will return JSON data.
The same code is working with jQuery 1.3.2 but not with jQuery 1.4.1
I am getting this error in FireBug console
a is undefined
for (var i=0; i
fullcalendar.js (line 369)
I am getting the JSON data as I can check it in response header of FireBug
jQuery 1.4.1 imposes strict JSON parsing
I am not sure whether it is the issue.
I have kept the FullCalendar example in apache webroot.
If I use "/fullcalendar/examples/json-events.php" for events instead of my CakePHP AJAX url "/myCake/calendars/get_events" it is working for jQuery 1.4.1.
But if I inlude the same code in "/fullcalendar/examples/json-events.php" in my CakePHP get_events.ctp file which generates the same JSON, it is giving the same error with jQuery 1.4.1
If anybody has encountered the same problem and found a solution or work around, it will be very helpfull if you share your experience.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
听起来 jquery 1.4.1 确实执行严格的 json 规则 (http://yehudakatz.com/2010/01/15/jquery-1-4-and-malformed-json/),这就是发生错误的原因。 fullcalendar.js 中的这一行是解析 feed 的地方,所以是有道理的。我会查看 firebug 中的 json 并查看每个字符串是否有双引号。如果没有,这肯定是你的问题。
我对 cakephp 不太熟悉,但如果你想快速将事件作为函数,我会执行以下操作或类似的操作...
it definitely sounds like jquery 1.4.1 is enforcing strict json rules (http://yehudakatz.com/2010/01/15/jquery-1-4-and-malformed-json/) and that is why the error is occuring. that line in fullcalendar.js is where it parses the feed, so makes sense. i'd look at the json in firebug and see if there are double quotes around every string. if not, this is definitely your problem.
im not that familiar with cakephp, but if you want a quick hack with events as a function, i'd do the following or something like it...
我的问题是 jquery 1.4.1+ 不接受 JSON 中的单引号,所以这是一个简单的修复,但我想您无法更改生成的 JSON?
Arshaws 示例运行得很好(感谢arshaw 提供了一个很棒的插件:))。或者您可以使用 jquery-json 插件 以安全的方式评估 json 响应。
My problem was that jquery 1.4.1+ doesn't accept single quotes in JSON, so that was an easy fix but I guess you're not in a position where you can change the generated JSON?
Arshaws example work very well (thank you arshaw for a great plugin btw :)). Or you can use jquery-json plugin to eval the json response in a secure way.