jQuery ajax中serialize()方法增加其他參數

來源:互聯網
上載者:User

標籤:logs   資料庫   encode   ams   轉換   後台   query   pre   bsp   

使用jQuery.ajax()進行表單提交時,需要傳遞參數,最直接的方法便是使用Form的serializa()將表單序列化,前提只是將Form表單中的name屬性與資料庫的欄位名保持一致便可;但如果遇到再次往其中增加參數的狀況呢,我們該如何處理?First:

其實,jQuery ajax的serialize() 方法是將表單序列化為索引值對(key1=value1&key2=value2…)後提交,使用標準的 URL-encoded 編碼錶示文本字串,而jQuery ajax-param()方法也是將其序列化一個 key/value 對象,如:

var params = { width:1900, height:1200 };var str = jQuery.param(params);$("#results").text(str);

  結果為:

width=1680&height=1050

  恰好兩者轉換的形式一樣,於是在serialize()中想要增加其他參數的時候,就可以:

jQuery.post(url, $.param({aa:‘aa1‘,bb:‘bb‘})+‘&‘+jQuery(‘#fm‘).serialize(), function (result) { ...}
於是傳到背景參數中,除過form表單中的含有name屬性的欄位外,就額外增加了aa以及bb兩個參數,我們的問題也便迎刃而解了!Second:

還有另外一種解決方案就是,將需要增加的參數寫在表單隱藏欄位中,這樣是需要使用Form.serialize()方法,即可將其餘參數增加進去。

jQuery ajax中serialize()方法增加其他參數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.