jQuery開始做惡了

2021-09-01 17:45:53 字數 1618 閱讀 9137

我是從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位址有點麻煩,不說了貼上 穿過...