jQuery的ajax()方法提交數組問題

來源:互聯網
上載者:User

當用$.ajax()向後台提交參數時,如果參數中數組的話一般在後台會用List,或Integer[] 等數組對象進行接收.

 

比如:

$.ajax({
   type: "POST",
   url: url,
   data:{ gender:[0,1] },
   dataType: "json",
   async:false
  });

 

這裡有個查詢性別的gender數組.

用Firefox的firebug查看post資料的時候,如果jquery版本過高會發現gender按以下類型提交

schGender[] 1

schGender[] 0

 

也就是說它把數組裡面的每個元素都當成了數組了. 這樣傳到後台就會報錯了.

 

解決辦法是換低版本的jquery,我這裡換成1.3.2就沒問題了(不推薦). 之後再查看POST資料就是:

schGender 1

schGender 0

 

最好的解決辦法是添加一個屬性

traditional:true

$.ajax({
   type: "POST",
   url: url,

   traditional:true,
   data:{ gender:[0,1] },
   dataType: "json",
   async:false
  });

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.