1 回答

TA貢獻2080條經(jīng)驗 獲得超4個贊
兩者都Request.PostFormValue()
返回Request.PostForm.Get()
相同的值,主要區(qū)別在于Request.PostForm
不會自動填充。
Request.PostForm
是表單數(shù)據(jù)的映射,通過調(diào)用Request.ParseMultipartForm()
or填充Request.ParseForm()
。這不會自動發(fā)生,因為這需要讀取和解析請求正文,而這可能并非在所有情況下都需要。
Request.PostFormValue()
調(diào)用ParseMultipartForm()
并ParseForm()
在必要時(如果之前未調(diào)用過)確保Request.PostForm
已填充。Request.PostForm
是一個表示's字段的選擇器,因此,它不涉及調(diào)用. 它假設(shè)你已經(jīng)這樣做了。如果沒有,任何調(diào)用都將“靜默”返回一個空字符串。Request
PostForm
ParseForm()
PostForm.Get()
所以你應該只Request.PostForm.Get()
在你已經(jīng)解析過表單數(shù)據(jù)的情況下使用(例如通過顯式調(diào)用Request.ParseForm()
或間接通過先前的Request.PostFormValue()
調(diào)用)。
- 1 回答
- 0 關(guān)注
- 135 瀏覽
添加回答
舉報