1
我們有以下腳本,可以在所有瀏覽器上正常工作。Fullcalender eventRecieve函數不在火狐中觸發Ajax
但是,當相同的腳本放在Fullcalender eventRecieve函數(外部事件拖放,重新渲染)中時,腳本不會將數據發佈到insert_events.php - 但這隻發生在Firefox中 - 它按預期發佈數據在Chrome和Edge中。因此,在總結,我們有一個情況如下:
- 邊緣,鉻,FF - 腳本是獨立的 - >職位數據如預期
- 邊緣和Chrome - 腳本里面eventRecieve - >職位數據 預計
- FF腳本里面eventRecieve - >未發佈的數據如預期
代碼:
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和 搜索高低的一些想法,花了一天的時間來試圖找出發生了什麼。但實際上這個問題只會在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';
},
任何想法?
FF發生這種情況時出現任何控制檯錯誤?或者在ajax請求中出現異常行爲(在開發工具的網絡選項卡中查看它) – ADyson
另外,更明顯的是:''window.location'命令幾乎肯定會在$ .post請求完成之前運行,任何瀏覽器,從而切斷ajax調用。爲什麼你要在這一點上新的一頁? – ADyson
@ ADyson謝謝。在測試中,我刪除了windows.location重定向。並記住所有的工作都在Chrome和Edge上 - 如果windows.location正在切斷ajax調用,情況就不會如此。 – jimshot