javascript - 關(guān)于ajax請(qǐng)求斷網(wǎng)后的問題
問題描述
想問大家個(gè)問題,一個(gè)ajax請(qǐng)求發(fā)送給后臺(tái)了,后臺(tái)開始處理了但是給前端返回值的過程中斷網(wǎng)了,前端肯定會(huì)得到timeout,但是后臺(tái)已經(jīng)處理了這個(gè)請(qǐng)求,這種情況咋辦?我覺得后臺(tái)不應(yīng)該處理才對(duì),如果支付寶或者微信支付遇到這樣的情況他們肯定不可能說把錢扣了然后前端給出一個(gè)斷網(wǎng)的提示吧?求知道怎么處理的同行給個(gè)策略,謝謝!!
問題解答
回答1:如果按照這種說法,你是不是還要考慮客戶電腦突然藍(lán)屏了呢,突然死機(jī)了呢。這樣算的話這種意外情況就太多了。而且你很難判斷客戶的情況的
回答2:你需要設(shè)計(jì)冪等接口。也就是說,一個(gè)接口請(qǐng)求一次與請(qǐng)求多次(或短時(shí)間內(nèi)請(qǐng)求多次)效果是一樣的。這樣倘若客戶斷網(wǎng)了也沒關(guān)系,重新請(qǐng)求就好了。
回答3:提交請(qǐng)求告訴用戶已提交(在處理中),請(qǐng)求成功后再告訴用戶付款成功正常第三方調(diào)用支付不是會(huì)跳到等待頁面嗎?里面有一個(gè)已經(jīng)支付的按鈕和其他按鈕,我覺得就是以防萬一沒接收到回調(diào),用戶可以自己按“已經(jīng)支付”按鈕
回答4:后臺(tái)返回值意味著后臺(tái)已經(jīng)處理完畢了,這時(shí)斷網(wǎng)就是說客戶端的網(wǎng)絡(luò)斷了,和服務(wù)器沒關(guān)系了,至于處理,只能呢個(gè)等客戶端重新聯(lián)網(wǎng)以后發(fā)送請(qǐng)求查詢?cè)侔烟幚硗戤叺慕Y(jié)果給拿回來
相關(guān)文章:
1. mac連接阿里云docker集群,已經(jīng)卡了2天了,求問?2. ddos - apache日志很多其它網(wǎng)址,什么情況?3. 上傳圖片老是失敗是什么原因?SAE_TMP_PATH.后面跟的路徑在哪看4. javascript - 關(guān)于jquery的ajax post數(shù)據(jù)的問題5. 前端 - 我有一個(gè)建站程序,但是多個(gè)文件夾下的HTML模板代碼沒有進(jìn)行縮進(jìn)格式化,請(qǐng)問用什么軟件可以批量格式化一下代碼?6. android-studio - Win10下修改Windows用戶文件夾名user,導(dǎo)致Android Studio報(bào)錯(cuò)無法使用7. phpstudy pro小皮面板經(jīng)常報(bào)這個(gè)nginx: [emerg] CreateFile【急】8. thinkphp5.1學(xué)習(xí)時(shí)遇到session問題9. angular.js - angular 路由為什么一直請(qǐng)求css和js文件10. javascript - setTimeout的延遲時(shí)間,是從什么時(shí)間段開始算起的?
