我们有以下脚本适用于所有浏览器。
但是当相同的脚本放在Fullcalender eventRecieve函数内部时(外部事件拖放,重新渲染),脚本不会将数据发布到insert_events.php - 但这只发生在Firefox中 - 它会按预期发布数据Chrome和Edge。总而言之,我们的情况如下:
代码:
var title = "Job Request";
var description = "nothing";
var start = "2017-08-28";
var url = "google.com";
var propertyid = "WR388GG-8621";
$.post("insert_events.php?propertyid=" + propertyid, {
title: title,
description: description,
start: start,
url: url
},
function(data, status) {
alert("Data: " + data + "\nStatus: " + status);
}
);
我们原本以为这个问题归结为使用FF和的Ajax代码 搜索一些想法的高低,并花了一天时间试图找出正在发生的事情。但实际上问题只出现在Firefox中,并且仅当脚本由Fullcalendar的eventRecieve函数触发时,如下所示。
代码:
eventReceive: function(event) {
var title = "Job Request";
var description = "nothing";
var start = "2017-08-28";
var url = "google.com";
$.post("insert_events.php?propertyid=" + id, {
title: title,
description: description,
start: start,
url: url
},
function(data, status) {
alert("Data: " + data + "\nStatus: " + status);
});
$('#calendar').fullCalendar('rerenderEvents');
window.location = 'new place to go';
},
有什么想法吗?
答案 0 :(得分:1)
在这个问题上归功于A Dyson。在Ajax调用之前,Firefox似乎只会触发重定向(window.location ='新的地方去#39 ;;)。 Chrome或Edge也是如此 - 它首先处理Ajax调用。请upvote A Dyson的评论,这应该是接受的答案。很快就解雇A Dysons的正确评论道歉。