區(qū)別:1、ajax提交是異步進(jìn)行,網(wǎng)頁(yè)不需要刷新,而from表單提交需要刷新;2、ajax必須要用js來(lái)實(shí)現(xiàn),而Form表單不是必須;3、ajax需要使用程序來(lái)對(duì)其進(jìn)行數(shù)據(jù)處理,F(xiàn)orm表單提交是根據(jù)表單結(jié)構(gòu)自動(dòng)完成,不需要代碼干預(yù)。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
form表單提交與 ajax提交的區(qū)別
1、使用場(chǎng)景:
安全性都一樣,都是發(fā)送的http協(xié)議。安全性與提交文件的業(yè)務(wù)處理(格式檢測(cè),防注入)有關(guān),與提交方式無(wú)關(guān)。
一般登錄用表單提交,點(diǎn)擊提交觸發(fā)submit事件,一般會(huì) 使頁(yè)面發(fā)生跳轉(zhuǎn),頁(yè)面的跳轉(zhuǎn)等行為的控制往往在后端,后端控制頁(yè)面的跳轉(zhuǎn)及數(shù)據(jù)的傳遞;但是某些時(shí)候不希望頁(yè)面跳轉(zhuǎn),或者說(shuō)想要將控制權(quán)放在前端,通過(guò)js來(lái)操作頁(yè)面的跳轉(zhuǎn)或數(shù)據(jù)變化,一般這種異步操作,都會(huì)使用ajax。
但是Ajax會(huì)有個(gè)隱藏的問(wèn)題,即瀏覽器不保存密碼,不符合用戶習(xí)慣。理想的方式:建立隱藏的iframe,把form標(biāo)簽的target指向iframe,然后檢測(cè)iframe的狀態(tài)。
2、比較:
(1)ajax在提交、請(qǐng)求、接收時(shí),都是異步進(jìn)行,網(wǎng)頁(yè)不需要刷新,只刷新頁(yè)面局部,不關(guān)心也不影響頁(yè)面其他部分的內(nèi)容。
Form提交則是新建一個(gè)頁(yè)面,哪怕是提交給自己本身的頁(yè)面,也需要刷新,為了維持頁(yè)面用戶對(duì)表單的狀態(tài)改變,要在控制器和模板之間傳遞