我想要实现的只是实现一个为我的fullcalendar应用程序提供json提要的servlet。当我用Bugzilla检查http://arshaw.com/js/fullcalendar/examples/json.html时,我看到发送GET请求以接收json提要。
但是,当我在我的场景中使用此示例时,fullcalendar似乎发送OPTIONS请求。唯一的区别是我用“http://localhost:8080/CalendarServletTest/HelloWorldServlet”(我的servlet的url)替换了“events:”json-events.php“。 我错过了什么?或者这真的是一个错误吗?
答案 0 :(得分:2)
jQuery可能确实在需要触发跨域 XMLHttpRequest时执行此操作,而返回dataType
不是jsonp
。这是设计行为,可能取决于所使用的Web浏览器的安全配置。 HTTP OPTIONS
请求应返回一个Allow
标头,其中包含允许在特定URL上使用的请求方法列表,以便jQuery可以相应地继续。
这实际上不应该导致技术问题,但如果您不想让它触发OPTIONS
请求,那么您需要让servlet在同一个域中运行,或者实现{{3因此(doOptions()
默认情况下它的任务正确,所以这实际上不应该形成技术问题),或者在Fullcalendar的源代码中将dataType
更改为HttpServlet
(如果必要时还要向Fullcalendar的人报告。