最近幾個月,寫的前端代碼一直是這種:this.$axios.post
然后這幾天又復習Spring Security,看到formLogin這個配置的時候,我突然就想不通 通過<form>表單使用post提交和不通過<form>使用post提交到底有什么區別,
這個問題初看起來可能有點不明,我就是這樣去問了老師,(自己沒想通,上網這樣查也沒結果,只記得似乎以前我好像問過這個問題,很簡單的,應該會被老師罵一頓)
然后問老師,真就被cj老師說了,差點把他氣吐血,這個問題一問出來他就感覺我很菜(老師一開始還不明白我想表達什么)
他問我想說什么?額,我就感覺要被批,越問我我就越搞不懂自己應該怎么回答。沒辦法,估計老師也搞不懂我咋會問這個問題,然后又重新給我介紹<form>和post以及ajax。
額,當我聽到<form>表單有個action和submit按鈕的時候,好吧,知道自己之前為什么網上找不到答案(問題都不會提,應該問的是<form>表單提交和ajax提交直接的區別,但是要是我知道應該這么問,也就沒有這個問題了)
反思:不用<form>表單而通過post提交,一般就是使用了ajax的方式,而使用<form>因為他有action和submit按鈕,可以直接通過點擊提交按鈕發送請求到action的地址。
除了submit按鈕,也可以使用js控制,就好比表單里面沒有寫submit按鈕,而只是一個普通按鈕,要通過點擊這個按鈕完成提交的效果。
我之所以會這么問:我想當然的認為寫了<form>表單,然后通過ajax的方式提交啊,沒問題啊,那這樣我還要這個<form>標簽干嘛?我都可以不用<form>標簽直接用ajax提交成功了。
忽略了<form>的直接通過submit按鈕提交action的地址,不用寫額外的代碼。
提交數據(也可以認為是請求)本質上只有以下3種情況,其它都是變體
1.超鏈接
2.表單
3.ajax