看板 Ajax 關於我們 聯絡資訊
最近在練習ajax 的時候 遇到了如果連線過久的問題 也在ajax 加上了 timeout 瀏覽器會跳出alert訊息 但網頁還是卡住 爬文查了一下 可能是後端程式那邊卡住 想請問 如果後端程式呼叫ajax 然後回傳過久 所以啟動了timeout 但如何讓後端程式繼續執行? 目前想到的方法是 在error那邊return 一個值 然後讓後端接收到值就如何動作嗎 還是有更好的方法? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.246.121.216 ※ 文章網址: https://www.ptt.cc/bbs/Ajax/M.1506959873.A.666.html
visa9527: 卡住?你的callback不會只在成功的地方寫吧 10/03 11:03
visa9527: 再來,後端程式不會呼叫AJAX的,只有前端AJAX呼叫後端 10/03 11:03
visa9527: 最後,後端應該return繼續做事而不是request結束就結束 10/03 11:04
visa9527: ignore_user_abort 10/03 11:06
visa9527: 當然現在這種有需要背景長時間運算後回傳值的架構 10/03 11:07
visa9527: 大部分都改用 WebSocket 去做了 10/03 11:07
visa9527: 你不可能把 Ajax timeout 無限大一直放在那邊等 10/03 11:08
visa9527: 也不需要搞兩支 API 一個下命令一個問進度 10/03 11:08
VdustR: 後端是 php? 不要用 session file 改用 memcache 或 redis 10/05 10:14
VdustR: 注意 race condition 10/05 10:14
rexyeah: 也許可以嘗試改用socket.io 10/19 11:19