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);
展开
 我来答
ispiders
2013-11-29 · TA获得超过1241个赞
知道小有建树答主
回答量:517
采纳率:80%
帮助的人:207万
展开全部
这个应该是api上的说明有问题, 实际传输数组的过程确实是需要加上[]才行的, 不然的话"foo=bar1&foo=bar2"这种形式的第一个值会被第二个值覆盖, 最终只传递了一个值, 加了[]服务器端才能正确的将imageid识别成数组, 并将多个值传递给数组
追问
不是这样的啊,foo=bar1&foo=bar2这种形式传参,后台可以正常取到foo这个数组的参数的

参数:"&imageid=3&imageid=4&imageid=5"

晕 追问里字数限制。。。
追答
不好意思, 没注意你用的是post....
我前面给你回答的是没错的, 因为那个GET的传参方式, 而post的传参方式就应该是不一样了
你用的是post, 而你看的get的api所以....
懂了没?
具体传输的数据有没有问题你需要到服务器端取出来看有没有问题再说
xiii130
2013-11-29 · 知道合伙人软件行家
xiii130
知道合伙人软件行家
采纳数:817 获赞数:2867
爱好编程,在工作中积累了比较丰富的经验。愿与大家共同进步。

向TA提问 私信TA
展开全部

不知道这样和不和你胃口

var params = [3,4,5].join('@');
$.ajax({
    url: '../test2.php',
    data: {
        title: 'hello',
        description: '米有',
        tag: '呵呵',
        imageid: params
    },
    success: function(){
        //do something
    }
});

后台接受到imageid时,再用@将他拆成数组

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友0c2357e
2013-11-29 · TA获得超过371个赞
知道小有建树答主
回答量:803
采纳率:50%
帮助的人:589万
展开全部
中括号,表示接收到的是一个数组
另外:
jQusery
jQuery
多写了个s
更多追问追答
追问
嗯手误,不影响该问题
我想知道这个问题的解决方案,如何让它只传参数,后面不带[]
有解决办法吗?
嗯手误,不影响该问题
我想知道这个问题的解决方案,如何让它只传参数,后面不带[]
有解决办法吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式