本文來總結一下,常用的頁面提交方式。
提到常用,大家就要注意了。如果你選用的方式不常用,那麼你就該思量一下自己的設計或者程式了。還是要站在巨人的肩膀上,才能創造出好的東西。
其實,本文將要講的幾種方式都比較常用。
常用就是合適的時候,做合適的事情。合適的技術,用在合適的地方,就是好的設計;就像合適的時間,遇到合適的人一樣心有靈犀。
方式一:
常用的form提交。
該種方式提交頁面,頁面會進行跳轉。這種方式可以選擇post提交方式,還是get提交方式,一般情況下,提交form通用post。這種方式,很常用。
var form = document.getelementbyid(frm01);
form.action =test/productshow.action;
form.method = post;
form.submit();
方式二:
拼接引數在url後面。
這種方式,為get提交方式。引數會列在url後面。該種方式同樣最常用,但是要注意傳遞的引數的保密性,以及引數的長度限制。
window.location.href=test/productdetails.shtml?productid=+$(#productid).val() +&detailurl=+$(#detailurl).val() ;
方式三:
ajax提交form的方式。
這種方式,會提交整個frm01,並且區域性重新整理。如果需要頁面跳轉,也可以結合其他頁面跳轉的方式,在success的function中進行頁面跳轉。
$.ajax(
});方式四:
ajax拼接引數提交。
該種方式,類似上面的方式,只不過是相當於將引數拼接在url後面。而不是整個form提交。同樣,該種方式,頁面不會進行跳轉,且區域性重新整理。
$(.send_msg).click(function()
});})
方式五:
多項選擇時,提交。
$(#realbuy).bind(click,function());
$(input[name='theoryrepayids']).val(ids.join(,));
$(input[name='itemnos']).val(itemnos.join(,));
$(input[name='total']).val(sum.tofixed(2));
$(#repform).submit();
});方式六:
跳到該頁面後,自動提交,並完成跳轉。
該種方式,一般在做支付跳頁時用。
總結:1、為了避免form套form的情況,我們可以構造乙個newform,將需要的引數,通過js賦值過去,提交這個newform即可;
2、有些引數,不適合在頁面之間傳來傳去,比如乙個訂單的金額、購買的數量之類的,那麼我就可以緊著重要的傳遞,然後再到資料庫中查詢【注意資料一致性的問題】,具體問題具體分析;
3、合適的時候,使用合適的技術,這樣時間長了,才能做到游刃有餘。不然就是南轅北轍,不斷積累失敗的經驗。
get提交方式和post提交方式的區別
最近一次面試被問到這個問題了,自我感覺答得不好,所以整理下來加深下印象 get提交方式和post提交方式的區別?1 get是明文傳參,所有引數都在url位址列裡顯示,較不安全,而post傳參是通過request body實體 提交後位址列裡看不到引數,相對get而言較安全些。2 get傳遞的引數有限...
頁面表單提交的原理
1.http是如何提交表單的 標籤的屬性enctype設定以何種編碼方式提交表單資料。可選的值有三個 這是預設的編碼方式。它只處理表單域裡的value屬性值,採用這種變法方式的表單會將表單域的值處理成url方式。multipart form data 這種編碼方式會以二進位製流的方式來處理表單資料,...
Web頁面向後台提交資料的方式和選擇
1 通過表單提交 這是html支援最傳統的提交方法,需要建立表單,然後表單包含各種型別的表單元素,還要有乙個提交按鈕,通過提交按鈕來提交到後台,這種方式提交後頁面會重新整理。2 通過網頁鏈結提交 可以在網頁的鏈結附上需要提交的引數,當使用者點選鏈結後,瀏覽器發起向鏈結的訪問,從而也把鏈結附帶的引數提...