javascript - 關(guān)于ajax請求斷網(wǎng)后的問題
問題描述
想問大家個問題,一個ajax請求發(fā)送給后臺了,后臺開始處理了但是給前端返回值的過程中斷網(wǎng)了,前端肯定會得到timeout,但是后臺已經(jīng)處理了這個請求,這種情況咋辦?我覺得后臺不應(yīng)該處理才對,如果支付寶或者微信支付遇到這樣的情況他們肯定不可能說把錢扣了然后前端給出一個斷網(wǎng)的提示吧?求知道怎么處理的同行給個策略,謝謝!!
問題解答
回答1:如果按照這種說法,你是不是還要考慮客戶電腦突然藍(lán)屏了呢,突然死機(jī)了呢。這樣算的話這種意外情況就太多了。而且你很難判斷客戶的情況的
回答2:你需要設(shè)計冪等接口。也就是說,一個接口請求一次與請求多次(或短時間內(nèi)請求多次)效果是一樣的。這樣倘若客戶斷網(wǎng)了也沒關(guān)系,重新請求就好了。
回答3:提交請求告訴用戶已提交(在處理中),請求成功后再告訴用戶付款成功正常第三方調(diào)用支付不是會跳到等待頁面嗎?里面有一個已經(jīng)支付的按鈕和其他按鈕,我覺得就是以防萬一沒接收到回調(diào),用戶可以自己按“已經(jīng)支付”按鈕
回答4:后臺返回值意味著后臺已經(jīng)處理完畢了,這時斷網(wǎng)就是說客戶端的網(wǎng)絡(luò)斷了,和服務(wù)器沒關(guān)系了,至于處理,只能呢個等客戶端重新聯(lián)網(wǎng)以后發(fā)送請求查詢再把處理完畢的結(jié)果給拿回來
相關(guān)文章:
1. mac里的docker如何命令行開啟呢?2. 為什么我ping不通我的docker容器呢???3. Docker for Mac 創(chuàng)建的dnsmasq容器連不上/不工作的問題4. docker容器呢SSH為什么連不通呢?5. nignx - docker內(nèi)nginx 80端口被占用6. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””7. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問題。8. docker gitlab 如何git clone?9. docker 下面創(chuàng)建的IMAGE 他們的 ID 一樣?這個是怎么回事????10. docker-compose 為何找不到配置文件?

網(wǎng)公網(wǎng)安備