手机版

jQuery.ajax将数组问题的解决方案传递给后台

时间:2021-09-05 来源:互联网 编辑:宝哥软件园 浏览:

今天,我重温了一个问题。jQuery.ajax向后台传递了一个数组,但后台没有收到该值。

前台js方法部分代码如下:

//创建测试数组var boxIds=new Array();BoxIdS . push(12182);BoxIdS . push(12183);BoxIdS . push(12184);//interact $。ajax ({url:'/xxx ',type:' get ',data: {'boxids' : boxids,' boxtype' : 0,' time' : newdate()。gettime ()},suc后台控制器代码(SpringMVC)

@ response body @ request mapping(value='/box/changeLock ')public String changeLock(最终Long[] boxIds,最终int box type){ return locker _ changelockservice . changeLock(box ids,box type);}观察浏览器中发送的请求,可以发现以下参数:

可以看到参数的名字是boxIds【】,而不是我们定义的boxIds,也就是说数组传递的时候,我们的数组名后面会自动加上“【】”,所以不能在后台接收。

解决方法:

设置jQuery.ajax的传统属性

$.ajax({ url: '/xxx ',type: 'GET ',data: { 'boxIds': boxIds,' boxType': 0,' time': new Date()。getTime() },传统: true,//在此设置为true成功:函数(数据){//dosth.}});修改后,重新发出请求并观察浏览器:

请求参数2

这次参数没有“[]”,后台可以成功接收数组。

以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。

版权声明:jQuery.ajax将数组问题的解决方案传递给后台是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。