根据控制台,这个Ajax在商业环境中使用Firefox在某些 PC上发布的调用并不会发生(240个相同的安装) 。如果我删除location.reload();
那么Ajax帖子就好了。但是,浏览器并没有因为使用Ajax而失败。
我做错了吗?
select: function(start, end, allDay, jsEvent, view) {
if (userID) {
var start = moment(start).format('YYYY-MM-DD')
var end = start;
$.ajax({
type: "POST",
cache: false,
url: 'http://intakecalendar/adddate.php',
data: 'userID='+ userID + '&start=' + end //+ '&end=' + end <-- Providing the REAL end date makes it show on the wrong day
});
} //End if
location.reload();
} // end select
答案 0 :(得分:6)
这是竞争条件。您正在进行http调用并重新加载页面。只有一个会胜出现代浏览器,页面导航会中止打开http请求。
将重新加载移至成功/完成处理程序。
select: function(start, end, allDay, jsEvent, view) {
if (userID) {
var start = moment(start).format('YYYY-MM-DD')
var end = start;
$.ajax({
type: "POST",
cache: false,
url: 'http://intakecalendar/adddate.php',
data: 'userID=' + userID + '&start=' + end, //+ '&end=' + end <-- Providing the REAL end date makes it show on the wrong day
complete: function() {
window.location.reload();
}
});
} else {
window.location.reload();
}
}