Form refreshed after AJAX
在 rails 接上 AJAX 的時候,有個頗為糟糕的問題:那就是載入頁面以後,頁面會自動消失。我檢查一下後發現,是因為 AJAX 請求發生以後,瀏覽器又重新向頁面發送請求,所以頁面看起來像被重整。
再查了一下 stack overflow 網站,問題的原因通常會這麼敘述:「因為登錄頁面用了 form
元素:它會在 AJAX 事件發生的時候自動傳送(submit)」
解決辦法......好像和阻止立即傳送有關。不過,怎麼試也沒用,暫時先擱置好了。
參考資料
- Why returned value from AJAX disappears almost instantly?
- Page refreshes after ajax request
- How to stop refreshing page after ajax call?
- Stop HTML form from disappearing after AJAX call
2018/01/01 後記:
當年的問題,最後發現與 turbolinks 這個套件有關。解決辦法,就是去掉它:也就是去掉 'data-turbolinks-track': 'reload'
。