jQuery.ajax向后臺傳遞數(shù)組問題的解決方法
今天重溫了一個問題,jQuery.ajax向后臺傳遞一個數(shù)組,而在后臺接收不到該值。
前臺js方法部分代碼如下:
//創(chuàng)建一個測試數(shù)組 var boxIds = new Array(); boxIds.push(12182); boxIds.push(12183); boxIds.push(12184); //向后臺交互 $.ajax({ url: "/xxx", type: "GET", data: { "boxIds": boxIds, "boxType": 0, "time": new Date().getTime() }, success: function(data) { //do sth... } });
后臺controller代碼(SpringMVC)
@ResponseBody @RequestMapping(value = "/box/changeLock") public String changeLock(final Long[] boxIds, final int boxType) { return locker_ChangeLockService.changeLock(boxIds, boxType); }
觀察瀏覽器中發(fā)送的請求,可以發(fā)現(xiàn)參數(shù)如下:
可以看到,參數(shù)的名字為boxIds[]而不是我們所定義的boxIds,也就是說,當傳遞數(shù)組時,會在我們的數(shù)組名稱后自動加上”[]”,所以后臺接不到。
解決辦法:
設置jQuery.ajax的tradional屬性
$.ajax({ url: "/xxx", type: "GET", data: { "boxIds": boxIds, "boxType": 0, "time": new Date().getTime() }, traditional: true,//這里設置為true success: function(data) { //do sth... } });
修改之后重新發(fā)出請求,觀察瀏覽器:
請求參數(shù)2
這次參數(shù)不帶”[]”了,并且后臺可以成功接收到該數(shù)組。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
jQuery懸停文字提示框插件jquery.tooltipster.js用法示例【附demo源碼下載】
這篇文章主要介紹了jQuery懸停文字提示框插件jquery.tooltipster.js用法,涉及jQuery文字提示框插件的引入與調(diào)用實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下2016-07-07利用jQuery的$.event.fix函數(shù)統(tǒng)一瀏覽器event事件處理
做WEB前端開發(fā)的人都知道不同的瀏覽器對事件的處理方式是有區(qū)別的。2009-12-12jQuery實現(xiàn)百度登錄框的動態(tài)切換效果
這篇文章主要介紹了jQuery實現(xiàn)百度登錄框的動態(tài)切換效果,需要的朋友可以參考下2017-04-04jQuery UI Grid 模態(tài)框中的表格實例代碼
這篇文章主要介紹了jQuery UI Grid 模態(tài)框中的表格實例代碼講解,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-04-04jQuery插件Zclip實現(xiàn)完美兼容個瀏覽器點擊復制內(nèi)容到剪貼板
本文將結合實例講解如何使用一款基于jQuery的插件——Zclip來實現(xiàn)復制內(nèi)容到剪貼板的功能。其實IE上有個方法可以實現(xiàn)點擊復制,但是由于只是IE獨有,所以我們不提倡。而Zclip是利用一個隱藏的flash文件來完成復制的功能,關鍵是它兼容當前各主流瀏覽器。2015-04-04