還在學習,所以要溫柔後重定向) - 發生了什麼事在我的網站是以下幾點:需要一個頁面發出一個請求.post的使用jQuery
- 發送AJAX POST請求更新SQL數據庫與新的事件 與會者
- 發送一些電子郵件通知
- 等待服務器返回「OK」的電子郵件發送
- 刷新頁面與新的與會者表現出來
發送電子郵件可能需要長達5秒或更長時間,我不希望用戶必須等待它完成。我試圖現在要做的就是改爲:
- 發送AJAX POST請求SQL
- 發送服務器請求電子郵件通知
- 刷新頁面之前服務器#2響應。
我試着發帖:
window.location.replace("");
前
$.post(
'/_x_/email/tag',
{
event_id: event_id,
tagged_id: tag_id,
type: 'tag_event_ongoing'
}
);
但服務器仍然會等待響應。 我也試過:
document.open();
$.get("",function(data) {
document.write(data);
})
document.close();
發佈請求之前 - 這將重新加載頁面,但沒有JavaScript的工作的一些原因,除非我手動刷新。
編輯:我已經使用適當的$阿賈克斯也試過()調用:
var email = $.ajax({
url: '/_x_/email/tag',
type: 'POST',
data: {
event_id: event_id,
tagged_id: tag_id,
type: 'tag_event_ongoing'
},
dataType: "json",
success: function (res) {
window.location.replace("");
}
});
附加說明: 我通過電子郵件發送代碼編寫的回調SQL插入 - 因此電子郵件是唯一當SQL插入成功時發送。我認爲這不重要,但以防萬一。
有人知道我該如何解決這個問題嗎?
我嘗試了$ .ajax並使用「成功」事件,但它似乎仍然等待服務器在重定向之前返回響應。我會將代碼附加到我的帖子中。 –
另外,我實際上目前正在發送兩個單獨的AJAX調用,並試圖執行您所描述的內容。我的問題是,我似乎無法做到這一點 - 我似乎無法等待數字2更新屏幕。 –
在這種情況下,我會在更新數據庫並重新繪製數據庫後返回新事件與會者列表當AJAX呼叫號碼1回來時的屏幕。那麼你不必刷新屏幕,完全可以避免這個問題。 – arb