2 回答

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
這可以通過在 GET 響應(yīng)中包含額外數(shù)據(jù)來完成。我假設(shè)用戶有一個(gè)唯一的 ID,可以幫助您確保他們只填寫一張表格。然后,在 GET 請(qǐng)求中,當(dāng)他們嘗試獲取表單時(shí),只需查詢您的數(shù)據(jù)庫以查看他們是否已經(jīng)提交了表單。如果他們這樣做了,您可以包含這樣的對(duì)象
{
isFilledOut: true,
submittedForm: // List of required fields
submittedFormData: // Object containing data from their previous submission
}
對(duì)于已經(jīng)填寫的表格。如果isFilledOut為真,則在客戶端顯示表單,并填寫他們已經(jīng)提交的數(shù)據(jù),允許他們進(jìn)行更改并根據(jù)需要重新提交。如果他們之前沒有填寫過表格,您的服務(wù)器可能會(huì)返回
{
isFilledOut: false,
submittedForm: // List of required fields
submittedFormData: null
}
在這種情況下,您會(huì)提示他們填寫表格。
這是一個(gè)簡單的例子——如果你愿意,你可以去掉布爾值,只檢查提交的表單是否為空。

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
在服務(wù)器端,您可以在回答 GET 請(qǐng)求之前檢查最后一個(gè)數(shù)據(jù)庫條目時(shí)間戳。
您還可以設(shè)置客戶端 cookie 以加快界面速度。如果客戶端和服務(wù)器在 GET 請(qǐng)求后不匹配,您總是可以拋出“out of sinc”錯(cuò)誤
添加回答
舉報(bào)