弄過支付寶的程序猿可能都知道,里面有非常多地方都用到了自提交表單的方式,支付寶的接口通過請求API的形式取得server返回的表單字符串,使用out.print("表單字符串")在jsp頁面上自提交表單。
這樣的做法盡管非常少有人使用,可是它也有着自身的價值,比如有的時候在js內部要提交一個完整的表單可是又不能使用ajax提交。這樣的時候這樣的思想就能發揮作用了
封裝表單的js例如以下
var formStart="<form id=\"userForm\" name=\"userForm\" action=\"check.php\" method=\"POST\">"; var content="<input type=\"hidden\" name=\"id\" value=\"20\"/>"; var formEnd="</form>"; var submitJs="<script>document.forms['userForm'].submit();</script>"; var completeForm=formStart+content+formEnd+submitJs; document.write(completeForm);
這段代碼運行后等效於直接給server提交了一個表單。有點類似POST請求,這種話就不須要通過地址欄傳參,安全性得到了提高