jquery.ajax传递数组参数 100
functioncallback(result){}vardata={title:"",description:"",tag:"",imageid:[3,4,5]}jQu...
function callback(result){}
var data = {
title:"",
description:"",
tag:"",
imageid:[3,4,5]
}
jQusery.post(url,data,callback);
为什么会多了一对中括号啊?
API中不是这样说的呢
@kai19900802
不是这样的啊,foo=bar1&foo=bar2这种形式传参,后台可以正常取到foo这个数组的参数的
参数:"&imageid=3&imageid=4&imageid=5"服务器端代码:
System.out.println(ArrayUtils.toString(request.getParameterValues("imageid")));
System.out.println(request.getParameter("imageid"));
输出结果
{3,4,5}
3
PS
问题解决了:
jQusery.post(url,$.param(data,true),callback); 展开
var data = {
title:"",
description:"",
tag:"",
imageid:[3,4,5]
}
jQusery.post(url,data,callback);
为什么会多了一对中括号啊?
API中不是这样说的呢
@kai19900802
不是这样的啊,foo=bar1&foo=bar2这种形式传参,后台可以正常取到foo这个数组的参数的
参数:"&imageid=3&imageid=4&imageid=5"服务器端代码:
System.out.println(ArrayUtils.toString(request.getParameterValues("imageid")));
System.out.println(request.getParameter("imageid"));
输出结果
{3,4,5}
3
PS
问题解决了:
jQusery.post(url,$.param(data,true),callback); 展开
3个回答
展开全部
这个应该是api上的说明有问题, 实际传输数组的过程确实是需要加上[]才行的, 不然的话"foo=bar1&foo=bar2"这种形式的第一个值会被第二个值覆盖, 最终只传递了一个值, 加了[]服务器端才能正确的将imageid识别成数组, 并将多个值传递给数组
追问
不是这样的啊,foo=bar1&foo=bar2这种形式传参,后台可以正常取到foo这个数组的参数的
参数:"&imageid=3&imageid=4&imageid=5"
晕 追问里字数限制。。。
追答
不好意思, 没注意你用的是post....
我前面给你回答的是没错的, 因为那个GET的传参方式, 而post的传参方式就应该是不一样了
你用的是post, 而你看的get的api所以....
懂了没?
具体传输的数据有没有问题你需要到服务器端取出来看有没有问题再说
2013-11-29 · 知道合伙人软件行家
关注
展开全部
不知道这样和不和你胃口
var params = [3,4,5].join('@');
$.ajax({
url: '../test2.php',
data: {
title: 'hello',
description: '米有',
tag: '呵呵',
imageid: params
},
success: function(){
//do something
}
});
后台接受到imageid时,再用@将他拆成数组
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
中括号,表示接收到的是一个数组
另外:
jQusery
jQuery
多写了个s
另外:
jQusery
jQuery
多写了个s
更多追问追答
追问
嗯手误,不影响该问题
我想知道这个问题的解决方案,如何让它只传参数,后面不带[]
有解决办法吗?
嗯手误,不影响该问题
我想知道这个问题的解决方案,如何让它只传参数,后面不带[]
有解决办法吗?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询