我正在我的网站上实现fullcalendar。
我创建了一个日历为id的div。
我已将SQL查询中的数据放入php变量中,并使用json编码来获得正确的格式。
这是我创建日历的方式:
$html .= "<script src='/wp-content/plugins/biobelt/moment.min.js'></script>
<script src='/wp-content/plugins/biobelt/fullcalendar.min.js'></script>
<link rel= 'stylesheet' href='/wp-content/plugins/biobelt/fullcalendar.css' type='text/css'>
<script>
jQuery(document).ready(function() {
var bevents = '".$buildingevents."'
console.log(bevents)
jQuery('#calendar').fullCalendar({
defaultDate: '" . $_SESSION['statDateFrom'] ."',
editable: true,
events: bevents,
});
});
</script>";
控制台日志为我提供了我传递给事件的数组的输出,它的格式正确:
[{"id":"1","titre":"1","start":"2018-04-09 07:00:01","stop":"2018-04-09 11:00:00"},{"id":"2","titre":"1","start":"2018-04-09 07:00:01","stop":"2018-04-09 11:00:00"},{"id":"3","titre":"2","start":"2018-04-09 16:00:01","stop":"2018-04-09 21:00:00"},{"id":"4","titre":"2","start":"2018-04-09 16:00:01","stop":"2018-04-09 21:00:00"}, etc...
我从中得到的是: 获取403禁止错误
我检查了apache日志,这是因为URL过长,因为数组的每个字段都放入了url。
出于某种原因,我不想在apache conf文件中更改限制请求行
我想生成一个POST而不是GET请求
我想知道它是如何生成GET请求的,因为我没有将GET放在我的文件中。
编辑:
根据:https://fullcalendar.io/docs/events-json-feed
Fullcalendar创建get请求和URL。问题仍然存在,因为URL太长,我想创建一个POST请求。怎么做?
答案 0 :(得分:0)
您似乎在某种程度上误解了文档。
你说
控制台日志为我提供了我传递给事件的数组的输出,并且格式正确
事实上你所展示的确看起来像是一个Javascript数组。所以...它是一个静态数组而不是一个URL。您没有任何类型的服务器端点,您可以对其进行单独的ajax调用以获取事件。因此,您链接到的文章(https://fullcalendar.io/docs/events-json-feed)不相关。相反,您将根据https://fullcalendar.io/docs/events-array)中描述的方法提供静态事件列表。
除此之外......你不是。由于您编写代码的方式,您需要提供字符串而不是数组。这导致fullCalendar假设您提供了一个网址,然后尝试调用该网址,并且它的错误就不足为奇了。
如果您只是从
中删除单引号global efgh
efgh = 'test2'
def fun_a(abcd):
print '%s - %s'%(abcd, efgh)
fun_a('test1')
这样就变成了
import argparse
parser = argparse.ArgumentParser(description='Example with non-optional arguments')
parser.add_argument('country')
args = parser.parse_args()
country = args.country
那么你的代码应该可以正常工作,因为这会将一个硬编码数组注入JavaScript而不是字符串。