上回書說到我們通過action和data處理已經獲取了表單的提交地址和表單的數(shù)據(jù)讨便,那么接下來就可以進行表單提交了充甚。既然我們是通過js進行提交,那么我們就可以祭出我們的大殺器ajax了霸褒,通過ajax提交好處一大堆伴找,比如可以無刷新提交等等。
這里我們遇到一個問題废菱,我們在提交表單的時候發(fā)現(xiàn)部分表單提交了技矮,但是卻沒有辦法判斷是否成功眉反,這時候就需要ajax提交后的狀態(tài)來進行判斷了,舉個栗子:
我們增加了紅線畫出來的部分穆役,這是比較常見的用jquery的ajax方法提交的一種寫法,在這里面success就是成功后的反饋梳凛。
首先我們要慶祝一下耿币,這是終于到了表單提交了,然后我們提交成功后也能通過alert打印出反饋的信息韧拒,但是如果出錯了怎么辦淹接?
分兩種情況:
1、ajax操作本身出錯
2叛溢、提交到后臺程序塑悼,程序報錯
分別的解決方案:
ajax有另外一個方法:error來進行處理該情況,同時我們考慮到其實已經完成了提交那么我們也要準備complete方法楷掉,如下:
經過以上的改造厢蒜,我們就可以正常提交了,并且我們可以知道幾個信息:
complete中烹植,我們可以反饋當前Ajax的狀態(tài)斑鸦,如果發(fā)生錯誤,那么error部分會彈出error信息草雕,如果成功那么我們就可以得到result也就是提交的反饋結果了巷屿。
總結一下:
complete:提交完成就是complete,并且返回ajax的狀態(tài)status
error:ajax出錯的時候墩虹,status會返回錯誤的狀態(tài)嘱巾,會返回錯誤error信息
success:只有當提交完成并且是成功的狀態(tài),才會執(zhí)行诫钓,完成和成功是兩種狀態(tài)旬昭,通過status區(qū)分
舉個栗子:
status:
status狀態(tài)是錯誤的狀態(tài),例子中視語法錯誤
error:
根據(jù)錯誤信息可以知道尖坤,反饋的信息沒有按照ajax的要求形成json格式稳懒。
以上。
ps:實際工作中我們經常采用console輸出這些信息慢味,不會用alert的方法场梆,這樣可以提高用戶體驗。
再ps:result我們還有大用纯路,因為還有另外一種情況或油,就是后臺程序報錯,下回見驰唬。
下回預告:
提交后的后臺該如何提示顶岸?
通用程序該如何進行驗證腔彰?