我是從asp時代過來的程式設計師,那個時代如果你傳乙個name相同的多個表單元素到後台時,它會形成乙個陣列,你可以獲取name就行了,
但是當jquery1.4出來時就不一樣了,它改變了規則,它預設加了[]符號到name後面,變成了name[].
會被序列化為 「foo=bar&foo=baz」.
在jquery 1.3版裡,會被序列化為 「foo=bar&foo=baz」.
用jquery.ajaxsettings.traditional
進行全域性切換,或者根據情況單獨切換。
總共有3種方式可以切換到舊的序列化方式:
1//全域性改變序列化方式 (使用舊的)
2 jquery.ajaxsettings.traditional = true;3
//指定情況使用舊的序列化方式
4 jquery.param( stuff, true);5
//針對乙個單獨的ajax請求使用舊的序列化方式
6 $.ajax();
隨著年齡的增加,好多年不用這種寫法了,記憶也模糊了。。。
html 中是允許多個具有相同name屬性的元素的
伺服器端讀取的常規做法是:
string name = request.params["txtname"];
得到的將是一串以逗號分割的字串,當然你可以手動分割:
string nameparts = name.split(',');
但是當每個 input 輸入可能包含逗號的時候,通過逗號分割就會是錯的。
如何解決?
在 classic asp 通過 request 可以這樣分別獲取
<%
firstname = request.form("txtname")(1)
middlename = request.form("txtname")(2)
lastname = request.form("txtname")(3)
%>
在 asp.net httprequest 同樣支援 classic asp request 的用法,
string nameparts = request.params.getvalues("txtname");
string firstname = nameparts[0];
string middlename = nameparts[1];
string lastname = nameparts[2];
以上用法對於 get/post 方式提交都是適用的。
值得注意的是,用來儲存 querystring/form/servervariables 的物件是 system.collections.specialized.namevaluecollection, 這是 key/value 型物件,它的特殊性在於,乙個key下可儲存多個 value。
越來越懷念 classic asp,asp+ 將簡單的http裹得太嚴實,很多簡單實用的用法逐漸被遺忘,漫天飛的 runat="server" 讓諸多原始但精巧的 form 處理方式沒有被傳承下來....
開始做ACM了
while scanf d d a,b eof while scanf d n n 1 即while scanf d n n eof 即 while scanf d n n scanf的返回值由後面的引數決定 scanf d d a,b 如果a和b都被成功讀入,那麼scanf的返回值就是2 如果只有...
正式開始做專案了
終於開始真正做專案了!這是乙個大的專案中的乙個小專案,主要面對6 15歲的小孩,通過這個軟體教會孩子如何程式設計,但並不是要求他們去寫 而是以乙個直觀的方式進行,通過拖動一些塊並組合起來形成乙個動畫。這個專案使用 silverlight 因為要做動畫,還用用到.net 中的 dynamic lang...
開始編碼了
都一周了,今天總算是開始編碼了。前兩天在看citrix的文件,全英文的,看得暈暈乎乎的,真是受不了。那兩天的成果對於今天的編碼也沒見得有啥作用。哎,杯具。今天我就寫了一下判斷客戶請求是內網請求還是公網請求 其實就是判斷一下ip 沒啥意思啊。就是穿過 伺服器取得使用者ip位址有點麻煩,不說了貼上 穿過...